強制変換方法: 1. String()、Number()、または toString() 関数を使用して、表示タイプを文字列と数値の間で変換します; 2. Boolean() 関数を使用して、値を文字列に変換しますブール値 ;3. " " および "-" 演算子を使用して、文字列と数値の間の暗黙的な型変換を実行します。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
文字列と数値の間の変換は、String(..) と Number(..)# によって行われます。 ## これら 2 つの組み込み関数。 String(..) と Number(..) に加えて、文字列と数値の間の明示的な変換を実現する他のメソッドがあります。
let a = 42; let b = a.toString(); let c = "3.14"; let d = +c; b; // "42" d; // 3.14
let a = "0"; let b = []; let c = {}; let d = ""; let e = 0; let f = null; let g; Boolean( a ); // true Boolean( b ); // true Boolean( c ); // true Boolean( d ); // false Boolean( e ); // false Boolean( f ); // false Boolean( g ); // false
Boolean(..) は明示的ですが、一般的には使用されません。明示的にブール値にキャストする最も一般的な方法は!!
let a = "0"; let b = []; let c = {}; let d = ""; let e = 0; let f = null; let g; !!a; // true !!b; // true !!c; // true !!d; // false !!e; // false !!f; // false !!g; // false
(1) 演算子
は、数値の加算と文字列の連結に使用できます。
オペランドの 1 つが文字列である場合 (または、文字列が ToPrimitive 抽象演算を呼び出して取得された場合) it) の場合は文字列の連結が実行され、それ以外の場合は数値の加算が実行されます。配列の valueOf() オペレーションは単純なプリミティブ値を取得できないため、代わりに toString() を呼び出します。したがって、以下の例の 2 つの配列は「1,2」と「3,4」になります。それらを連結すると「1,23,4」が返されます。let a = "42"; let b = "0"; a + b; // "420" let c = 42; let d = 0; c + d; // 42 let x = [1,2]; let y = [3,4]; x + y; // "1,23,4"
文字列変換には演算子を使用し、数値を空の文字列 "" と比較して文字列に変換できます
let a = 42; let b = a + ""; b; // "42"
a " "(暗黙的) と前の String(a) (明示的) の間には注意すべき微妙な違いがあります。
ToPrimitive 抽象操作ルールに従って、「」は a の valueOf() メソッドを呼び出し、ToString 抽象操作を通じて戻り値を文字列に変換します。 String(a) は ToString() を直接呼び出します。最終的に返されるのは文字列ですが、a が数値ではなくオブジェクトの場合、結果は異なる可能性がありますlet a = { valueOf: function() { return 42; }, toString: function() { return 4; } }; a + ""; // "42" String( a ); // "4"
#(2) 文字列から数値へのキャストの場合 - は数値の減算演算子であるため、 - 0 は a を数値にキャストします。 * 1 と /1 を使用することもできます。これら 2 つの演算子は数値にのみ適用されるためです。しかし、そのような使用法はあまり一般的ではありません。
let a = [3]; let b = [1]; a - b; // 2
[推奨学習:
javascript 上級チュートリアル以上がJavaScriptで型強制を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。