JavaScript における Boolean、Nnumber、および String キャストの違いについて詳しく説明します。
Boolean(value) は値をブール型に変換し、Nnumber(value) は値を数値 (整数または浮動小数点数) に変換し、String(value) は値を文字列に変換することがわかります。
まずブール値を分析してみましょう。ブール値は、変換値が「少なくとも 1 つの文字を含む文字列」、「ゼロ以外の数値」または「オブジェクト」の場合に true を返します。 , 「数値 0」、「未定義」、「null」の場合は false を返します。
例:
var b1 = Boolean("" );// false を返す、空の文字列
var b2 = Boolean("s");// true を返す、空ではない文字列
var b3 = Boolean(0);// false を返す、数値 0
var b4 = Boolean(1);//0 以外の true を返します。number
var b5 = Boolean(-1);//0 以外の true を返します。number
var b6 = Boolean(null); // false を返します
var b7 = Boolean(unknown); // false を返します
var b8 = Boolean(new Object()); // true を返します
次の 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 を呼び出すかどうかを決定します。
番号を呼び出した結果は以下のとおりです:
数値(false) //0を返す
数値(true) //1を返す
数値(未定義) //NaNを返す
数値(null) //0を返す
数値( "1.2 ") //1.2 を返す
Number("12") //12 を返す
Number("1.2.3") //NaN を返す
Number(new Object()) //NaN を返す
Number(123) //Return 123
最後に、String を分析してみましょう。たとえば、String(false) の結果は "false" になります。 , String(1の結果)は「1」です。 toString メソッドとは若干異なります。 違いは次のとおりです。
var s1 = null;
var s2 = String(t1);// s2 の値は "null"
var s3 = s1.toString();// エラーになりますreports
var s4;
var s5 = String(t4);// s5 の値は「未定義」です
var s6 = t4.toString();// エラーが報告されます