PoiemaWeb-タイプ変換と迅速な評価
4640 ワード
1.変換タイプ
JavaScriptのすべての値にタイプがあります.値のタイプは、開発者が意図的に他のタイプに変換することができます.あるいは、JavaScriptエンジンでサイレント自動変換を行うこともできます.開発者が意図的に値を変換するタイプは、明示的なタイプ変換(Explicit Construction)またはタイプ鋳造(Type Casting)と呼ばれます.
var x = 10;
//명시적 타입변환
var str = x.toString();
ダイナミックタイプのjavascriptは、開発者の意図に関係なくjavascriptエンジンによって黙々とタイプが自動的に変換されます.これを暗黙タイプ変換(Implicit強制)またはタイプ強制変換(Type強制)と呼ぶ.var x = 10;
var str = x + ''; //암묵적 타입변환
2.デフォルトタイプの変換
JavaScriptエンジンは、表現を評価する際にコンテキスト(Context)を考慮し、デフォルトでタイプ変換を実行します.
式を評価すると、コンテキストに合致しない場合があります.このときjavascriptは、エラーを最小限に抑えるために暗黙的なタイプ変換によって式を評価します.
3.明示的なタイプ変換
開発者の意図により,タイプを明確に変更する方法は多様である.Rapperオブジェクトを作成するためのRapperオブジェクト作成者関数をnew演算子の有無で呼び出す方法と,JavaScriptで提供される構築方法を用いる方法と,前述した暗黙型変換を利用する方法がある.
3.1文字列タイプへの変換
3.2数値タイプへの変換
3.3ブール型に変換
4.迅速な評価
'Cat' && 'Dog' //'Dog'
論理乗算子は、2つの被演算子がtrueとして計算されたときにtrueを返します.論理乗算子&&は、論理演算結果を決定する2番目の被演算子の評価結果、すなわち文字列「Dog」を直接返します.
'Cat' || 'Dog' //'Cat'
論理演算子|2つの被演算子のうち、1つだけがtrueである場合にtrueを返します.論理演算子|は、論理演算結果を決定する最初の被演算子の評価結果である「Cat」を返します.
論理積演算子&&および論理連結演算子|は、論理評価を決定する演算子の値を返します.これをクイック評価と呼びます.ショートカット評価は、次のルールに従います.
ショートカット評価式の評価結果はtrue|anythingtrue&anythingfalse&anythingfalse&anythingfalse&anythingfalse
評価の短縮は、次の場合に役立ちます.
var elem = null;
console.log(elem.value); //TypeError
console.log(elem && elem.value)// null
オブジェクトが空の場合、参照オブジェクトのプロパティによってタイプエラーが発生します.ショートカット評価を使用してもエラーは発生しません.function getStringLength(str){
str = str || '';
return str.length;
}
関数の呼び出し時にパラメータが渡されない場合、パラメータは未定義です.この場合、ショートカットを使用してパラメータのデフォルト値を設定すると、未定義によるエラーを防止できます.Reference
この問題について(PoiemaWeb-タイプ変換と迅速な評価), 我々は、より多くの情報をここで見つけました https://velog.io/@kimwanyoung/PoiemaWeb-타입변환과-단축평가テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol