1. 型変換
1. 文字列に変換
ECMAScript のブール値、数値、文字列のプリミティブ値の興味深い点は、それらが擬似オブジェクトであることです。これは、実際にプロパティとメソッドがあることを意味します。
例:
Js コード
var sColor = "blue";
alert(sColor.length);//「4」を出力
var sColor = "blue";
alert(sColor.length);//出力 "4"
つまり、ブール値、数値、文字列の 3 つの主要なプリミティブ値には toString() メソッドがあります。 ECMAScript で定義されたすべてのオブジェクトには、擬似オブジェクトであっても実際のオブジェクトであっても、toString() メソッドがあります。
ブール値の toString() メソッドは「true」または「false」を出力するだけで、結果は変数の値によって決まります:
Js コード
var bFound = false; //「false」を出力します
var bFound = false;
alert(bFound.toString());//「false」を出力します
の toString() メソッドNumber 型は特殊です。デフォルト モードとベース モードの 3 つのモードがあります。デフォルト モードでは、toString() メソッドは数値 (整数、浮動小数点数、または科学値) を出力するだけです。表記) を対応する文字列で置き換えます。
Js コード
var iNum1 = 10 ;
var fNum2 = 10.0;
alert(iNum1.toString()); //「10」を出力
alert(fNum2.toString()); //「10」を出力= 10;
var fNum2 = 10.0;
alert(iNum1.toString()); //「10」を出力
alert(fNum2.toString()); //「10」を出力
Number 型の toString() メソッドの基底モードを使用すると、異なる基数 (基数) を使用して数値を出力できます。
Js コード
alert(iNum.toString(2)); //「1010」を出力
alert(iNum.toString(8)) //「12」を出力
alert(16) ); / /「A」を出力します。
var iNum = 10;
alert(iNum.toString(2)); //「1010」を出力します。
alert(8);出力 "12 "
alert(iNum.toString(16)); //出力 "A"
2 に変換します。 🎜>ECMAScript 数値以外のプリミティブ値を数値に変換するために、parseInt() と parseFloat() という 2 つのメソッドが提供されています。
注: これらのメソッドは String 型 (Number を除く) で呼び出された場合にのみ正しく実行され、他の型では NaN が返されます。
例:
Js コードコードをコピー
var iNum1 = parseInt("1234blue"); // 1234 を返します
var iNum2 = parseInt("oxA"); // 10 を返します
var iNum3 = parseInt("22.5"); // 22 を返します
var iNum4 = parseInt("blue"); // NaN を返します
parseInt() メソッド 2 進数、8 進数、16 進数、またはその他の基本文字列を 10 進整数に変換できる基本モードもあります。 2 番目のパラメータは、どの塩基を解析するかを指定します。
Js コード
コードをコピー
var iNum1 = parseInt("AF",16);// 175 を返します
var iNum2 = parseInt("10", 2); // 2 を返します
var iNum3 = parseInt("10",8); // 8 を返します
var iNum4 = parseInt("10",10); // 10 を返します>
注: 10 進数の先頭に 0 が含まれる場合は、基数 10 を使用するのが最善です。そうでない場合、取得される値は 8 進数になります。
Js コード
コードをコピー
コードは次のとおりです。
var iNum1 = parseInt("010"); // 8 を返します
var iNum2 = parseInt("010",8); // 8 を返します
var iNum3 = parseInt("010") ,10);// 10 を返します
var iNum1 = parseInt("010"); // 8 を返します
var iNum2 = parseInt("010",8); // 8 を返します
var iNum3 = parseInt("010",10);//10 を返します
parseFloat() メソッドは parseInt() メソッドと似ており、位置 0 から開始して、位置 0 になるまで各文字を調べます。最初の無効な文字が見つかった後、その文字の前の文字列を数値に変換します。このメソッドでは、最初の小数点が有効な文字です。小数点以下 2 桁が使用されている場合、小数点以下 2 番目は無効とみなされます。このメソッドを使用する場合のもう 1 つの違いは、文字列が 10 進形式の浮動小数点数を表現する必要があることです。
Js コード
var fNum1 = parseFloat ("1234blue"); //1234.0 を返します
var fNum2 = parseFloat("0xA"); //NaN を返します
var fNum3 = parseFloat("22.5"); //22.5 を返します
var fNum4 = parseFloat("22.34.5");// 22.34 を返します
var fNum5 = parseFloat("0908");// NaN を返します
var fNum6 = parseFloat("blue");// NaN を返します
var fNum1 = parseFloat("1234blue"); // 1234.0 を返します
var fNum2 = parseFloat("0xA"); // NaN を返します
var fNum3 = parseFloat("22.5"); 22.5
var fNum4 = parseFloat("22.34.5");// 22.34 を返します
var fNum5 = parseFloat("0908");// NaN を返します
var fNum6 = parseFloat("blue"); //NaN を返します
3. 強制型変換
ECMAScript で使用できる 3 種類の強制型変換は次のとおりです:
(1) .Boolean(value)
指定された値をブール型に変換します。
Boolean() 関数は、変換される値が文字列、ゼロ以外の数値、または少なくとも 1 つの文字を含むオブジェクトである場合に true を返します。値が空の文字列、数値 0、未定義、または null の場合は、false を返します。
例:
Js コード
var b1 = Boolean(""); // false;
var b2 = Boolean("hi");//true
var b3 = Boolean(100);//true
var b4 = Boolean(null );//false
var b5 = Boolean(0);//false
var b6 = Boolean(new Object());//true
var b1 = Boolean("" ); // false;
var b2 = Boolean("hi");//true
var b3 = Boolean(100);//true
var b4 = Boolean(null);//false
var b5 = Boolean(0);//false
var b6 = Boolean(new Object());//true
(2).Number(value )
指定された値を数値 (整数または浮動小数点数にすることができます) に変換します。
parseInt() メソッドと parseFloat() メソッドは最初の無効な文字の前の文字列のみを変換するため、「4.5.6」は「4.5」に変換されることに注意してください。 Number()、「4.5.6」を使用してキャストすると、文字列値全体を数値に変換できないため、NaN が返されます。文字列を完全に変換できる場合、Number() は parseInt() メソッドを呼び出すか parseFloat() メソッドを呼び出すかを決定します。
例:
Js コード
数値( false);//0
数値(true);//1
数値(未定義);//NaN
数値(null);//0
数値("5.5 ");/ /5.5
Number("56");//56
Number("5.6.7");//NaN
Number(new Object());//NaN
数値(100 );//100
数値(false);//0
数値(true);//1
数値(未定義);//NaN
数値(null); //0
Number("5.5");//5.5
Number("56");//56
Number("5.6.7");//NaN
Number(new Object()) ;//NaN
Number(100);//100
(3).String(value)
指定された値を文字列に変換します。
toString() メソッドの呼び出しとの唯一の違いは、null または未定義の値をキャストすると、エラーを発生させずに文字列を生成できることです。
Js コード
var s1 = String(null);//"null"
var oNull = null; var s2 = oNull.toString();//エラーが発生します