型指定が弱い Javascript では、プログラマが望むように実際の変数型から必要なデータ型に変換されません。たとえば、非常によくある間違いは、ブラウザ スクリプトのフォーム コントロールからユーザー入力を取得することです。数値変数と別の数値変数。フォーム コントロールの変数タイプは文字列 (タイミング文字列シーケンスには数値が含まれる) であるため、この試行では、値が何らかの数値である場合でも、その文字列が変数に追加されます。 2番目の変数は文字列型に変換され、最終的にはフォームコントロールから取得した変数のみが1番目の文字列の末尾に追加されます。
したがって、強制型変換は依然として比較的重要です。その強制変換関数のいくつかを見てみましょう。
1. Boolean(value): 値をブール型に変換します。
2. Nnumber(value): 値を数値 (整数または浮動小数点数) に変換します。3. 文字列(値): 値を文字列に変換します。
まず Boolean() を見てみましょう。変換される値が「少なくとも 1 文字の文字列」、「ゼロ以外の数値」、または「オブジェクト」の場合、Boolean() は true を返します。変換される値が「空の文字列」、「数値 0」、「未定義」、「null」の場合、Boolean() は false を返します。次のコードを使用して
をテストできます。
以下は引用内容です:
var t2 = Boolean("s");// true、空ではない文字列を返しますvar t3 = Boolean( 0 );// false を返す、数値 0 var t3 = Boolean(1),t4 = Boolean(-1);// true を返す、0 以外の数値
|
もう一度 Number() を見てみましょう: Number() は parseInt() と parseFloat() に似ていますが、違いは Number() が値全体を変換するのに対し、parseInt() と parseFloat() は先頭の数値部分のみを変換できることです。たとえば、:Number("1.2.3"),Number("123abc") は NaN を返しますが、parseInt("1.2.3") は 1 を返し、parseInt("123abc") は 123 を返し、parseFloat("1.2.3") ") は 1.2 を返します。parseFloat("123abc") は 123 を返します。 Number() は、まず変換対象の値が完全に変換できるかどうかを判断し、次に parseInt() または parseFloat() を呼び出すかどうかを決定します。以下は、いくつかの値に対して Number() を呼び出した結果のリストです:
| TR>
以下は引用内容です: var t1 = null;var t2 = String(t1);//t2 の値は "null" ですvar t3 = t1.toString();//ここでエラーが報告されますvar t4; var t5 = String(t4);//t5 の値は "未定義 |