JavaScriptデータタイプの強制変換
4273 ワード
私のブログ
javascriptデータタイプは、基本データタイプと参照データタイプに分けられます.
基本データ:Number、Boolean、Unidefined、Null、String;
引用データ:Object;
0.000...01の場合、小数点以下7桁以上の場合、自動的に科学的なカウントに変換されます.
20000...00の場合、整数部分が22桁以上の場合、自動的に科学的カウントに変換されます.
Number(x):一つのパラメータ;パラメータがNumberタイプの場合:正確に出力できます. パラメータがBooleanタイプの場合:true->1;fasle->0 パラメータがundefinedの場合:NaN の値です.パラメータがnullの場合: パラメータがStringタイプの場合: パラメータタイプが対象の場合:先に行います.valueOf()は、得られた時に対象がString()を行い、基本データタイプが得られるまでは、例えば{}.valueOf().tostring()=「[object Object]」の最後のnumberの結果がNaNです.
フローは、Stering(x)を文字列にしてから、この値をy進数でベースにして十進数に変えて、10としないでください.yの範囲:[2,36]
パラメータyがない場合: xパラメータがnumberの場合:注意が必要です.⚠️のは0.001,1 e-7タイプの値で、小数点(e)以下の値を切り捨てて前の値に戻ります. xパラメータはbollan、undefined、nullの場合: xパラメータがStringタイプの場合:注意すべき時空列、スペース文字列、数字+文字 パラメータxを対象とした場合:同じように.valueOf()を通じて、得られた時に対象がString()を行い、基本データタイプが得られるまで上記規則に従って出力する パラメータx,y,yが0,null,undefined,NaNの場合、yを無視してデフォルトで10,[2,36]の範囲を超えるとNaNに戻り、x値がy進数で表されるとNaNに戻り、残りは数桁で となります.第一:undefined、nullはtoString()属性がないので、String(undefiend) を通すしかない.第二:y.toString(x)は、目標値yをx進数に変換する値 を意味する.
javascriptデータタイプは、基本データタイプと参照データタイプに分けられます.
基本データ:Number、Boolean、Unidefined、Null、String;
引用データ:Object;
0.000...01の場合、小数点以下7桁以上の場合、自動的に科学的なカウントに変換されます.
20000...00の場合、整数部分が22桁以上の場合、自動的に科学的カウントに変換されます.
Number(x):一つのパラメータ;
console.log(Number(1)); //1
console.log(Number(1e-7)); //1e-7
console.log(Number(0b111)); //7
console.log(Number(NaN)); //NaN
console.log(Number(true)); //1
console.log(Number(false)); //0
console.log(Number(undefined)); //NaN
console.log(Number(null)); //0
//
console.log(Number("123")); //123
console.log(Number("-123")); //-123
console.log(Number("12.3")); //12.3
console.log(Number("1e-7")); //1e-7
console.log(Number("0xff")); //255
console.log(Number("00123")); //123
console.log(Number(" 123")); //123
console.log(Number("\t
123")); //123
// +
console.log(Number('a123')); //NaN
console.log(Number("false")); //NaN
console.log(Number("a123")); //NaN
//
console.log(Number("\t
")); //0
console.log(Number(" ")); //0
console.log(Number("")); //0
console.log(Number({})); //NaN
console.log(Number([1])); //1
console.log(Number([1,2])); //NaN
cosole.log(Number([])); //0
parseInt(x,y):2つのパラメータ、フローは、Stering(x)を文字列にしてから、この値をy進数でベースにして十進数に変えて、10としないでください.yの範囲:[2,36]
パラメータyがない場合:
console.log(parseInt(123)); //123
console.log(parseInt(1e-7)); //1
console.log(parseInt(0xff)); //255
console.log(parseInt(NaN)); //NaN
console.log(parseInt(0.00001)); //0
console.log(parseInt(true)); //NaN
console.log(parseInt(false)); //NaN
console.log(parseInt(undefined)); //NaN
console.log(parseInt(null)); //NaN
console.log(parseInt("")); //NaN
console.log(parseInt("-123")); //-123
console.log(parseInt(" ")); //NaN
console.log(parseInt("\t
")); //NaN
console.log(parseInt("a123")); //NaN
console.log(parseInt("123a")); //123
console.log(parseInt({1:2})); //"[object Object]"->NaN
console.log(parseInt([])); //""->NaN
console.log(parseInt([1,2])); //"1,2"->//1
console.log(parseInt("f",2)); //NaN
console.log(parseInt("11f",2); //3
console.log(parseInt("123",37)); //NaN
console.log(parseInt("0xff",0)); //255
console.log(parseInt("0xff",NaN)); //255
console.log(parseInt("ff",[])); //NaN
パーrseFloat(x):一つのパラメータは、浮動小数点および科学的計数法を正確に表すことができますが、文字列の進数は正確には表現できません.残りはパー秒Int(x,10)と同じです.console.log(parseFloat(0xff)); //255
console.log(parseFloat("0xff")); //0
console.log(parseInt("0xff")); //255 parseInt(x,y) y
console.log(parseFloat(1e22)); //1e22
console.log(parseFloat(1e-7)); //1e-7
console.log(parseFloat("00123")); //123
console.log(parseFloat(" ")); //NaN
String()、toString()console.log(String(null)); //"null"
console.log(0xff.toString(2)); //"11111111"
console.log(oxff.toString()); //"255" 10