09.タイプ変換と迅速な評価
3548 ワード
2022.04.05.水曜日
09.タイプ変換と迅速な評価
9.1タイプ変換とは?
:既存の元の値を使用して、他のタイプの新しい元の値を作成します.
9.2デフォルトのタイプ変換
:JavaScriptエンジンは、式を評価する際に、開発者の意図にかかわらず、コードのコンテキストを考慮してデータ型を黙々と強制的に変換することがあります.
:+文字列と演算子を使用する場合、すべての被演算子はコードコンテキストで文字列タイプでなければなりません.文字列タイプ変換が発生します.
0 + '' // 0
-0 + '' // 0
NaN + '' // NaN
Infinity + '' // Infinity
true + '' // true
false + '' // false
null + '' // null
undefined + '' // undefined
(Symbol()) + '' // TypeError
:算術演算子、比較演算子、単項演算子を使用すると、数値タイプ変換が発生します.
:JavaScriptエンジンは、ブール以外のタイプの値をTruthy値またはFalse値に区別します.
9.3明示的なタイプ変換
:開発者の意図に基づいてタイプを明示的に変更する方法
文字列タイプに変換
// 1.
String(1);
String(NaN);
String(Infinity)
String(true)
String(false)
// 2.
(1).toString();
(NaN).toString();
(Infinity).toString();
(true).toString();
(false).toString();
// 3.
1 + '';
NaN + '';
Infinity + '';
true + '';
false + '';
数値タイプに変換
新しい演算子なしで
// 1.
Number('0');
Number('10.53');
// 2.
parseInt('0');
parseFloat('10.53');
// 3.
+true;
+false;
// 4.
'0' * 1;
'-1' * 1;
ブール型に変換
新しい演算子なしで
// 1.
Boolean('x');
Boolean('false');
Boolean([]);
// 2.
!!'x';
!!'false';
!!null;
9.4迅速な評価
:2つの演算子で、一方に計算されると、対応する値が返されます.
'Cat' && 'Dog' // 'Dog'
'Cat' || 'Dog' // 'Cat'
false && anything // false
※クイック評価:評価過程で評価結果が確定した場合、残りの評価過程は省略する.適用
var done = true;
var message = '';
message = done && '완료';
/* =======================* */
var done = false;
var message = '';
message = done || '미완료';
/* =======================* */
var done = true;
var message = '';
message = done ? '완료' : '미완료';
オブジェクトを指す変数がnullまたはundfeedではないことを確認し、Propertyを参照します.
var element = null;
var value = element && element.value;
関数パラメータにデフォルト値を設定する場合
function getStringLength(str='') {
return str.length;
}
//ES6의 매개변수의 기본값 설정
:ES 11に導入された傍観者フィルタ演算子.左の演算子がnull、undefinedの場合、undefinedが返されます.そうしないと、右のproperty参照が続行されます.
var element = null;
var value = element?.value; // undefined
:ES 11に導入されたnull連結演算子?左の被演算子がnullの場合、右の被演算子が返されます.そうでない場合、左の被演算子が返されます.
var foo = null ?? 'default string'; // 'default string'
Reference
この問題について(09.タイプ変換と迅速な評価), 我々は、より多くの情報をここで見つけました https://velog.io/@yhs4157/09.-타입-변환과-단축-평가テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol