JavaScriptのデータタイプノート
5686 ワード
今日は本を読んで勉強しました.今は本の内容によってまとめてみます.
JavaScriptには5つの簡単なデータタイプがあります.それぞれUnidefined、Null、Boolean、Number、Stringです.は以上の5つのデータタイプのほかに、複雑なデータタイプ、Objectがあります. ECMAScriptはフリータイプで、typeof方法を使ってデータの種類を判断することができます.
極小値の表示 NaNに関する任意の操作はNaNに戻ります. NaNは、NaN自体を含むいかなる値とも等しくない. この2点の定義に対して、ECMAScriptはisNAN()関数を定義しています.この関数はパラメータを受け入れます.このパラメータはどんな種類でもいいです.関数はこのパラメータが「数値ではない」かどうかを確認してくれます.isNAN()は値を受け取ったら、この値を数値に変換してみます.いくつかの数値ではない値は直接数値に変換されます.例えば、文字列「10」と、Boolean値と、数値に変換できない値はtrueに戻ります.
数値の変換3つの関数は、非数値を数値に変換することができます.Number()、パーrseInt()、パーrseFloat()の最初の関数である変換関数は、任意のデータタイプに使用できます.他の2つの関数は、文字列を数値に変換するために専用です.この3つの関数は同じ入力に対して異なる結果を返します.Numberは、ブール値であれば、0を返します.数字の値なら、単純な着信とリターンだけです.nullであれば、0を返します.undefindedならNaNに戻ります.
パーrseInt()関数は、Number関数が文字列を変換する際に複雑で不合理であるためです.したがって、整数を処理する時に使うのがもっと多いのはパーrseInt()関数で、最初の非スペース記号が見つかるまで文字列の前のスペースを無視します.最初の文字が数字やマイナスの文字でないと、NaNに戻ります.つまり、彼で空の文字列を変換するとNaNに戻ります.Numberは0に戻ります.最初の数字文字を解析してから、すべての数値文字を解析するか、あるいは非数字文字に出会うまで、第二の数字文字を解析します.文字の文字数. toString():文字列 に変換する.
現在のオブジェクトを作成するための関数が格納されています.hasOwnProperty:与えられた属性が現在のオブジェクトのインスタンスに存在するかどうかを確認するためのものです.
propertyIs Enumerableは、与えられた属性がfor-innを使って列挙されるかどうかを確認するために使用されます.
toString():戻り対象の文字はvalueOf():戻り対象の文字列を表します.数値、またはブール値は表します.通常はtoStringの戻り値と同じです.
JavaScriptには5つの簡単なデータタイプがあります.それぞれUnidefined、Null、Boolean、Number、Stringです.
var message = "some string";
console.log(typeof message);
console.log(typeof 89);
Unidefinedタイプは一つの値しかないです.すなわちundefinedです.var宣言変数を使って、それを初期化しない場合、この変数の値はundefinedです.var messages;
console.log(typeof messages); // undefined
しかし、Unidefinedを含む値と未定義の変数は明らかに違います.var messages;
console.log(messages);
// console.log(age);
Nullタイプは2番目の値が1つだけのデータタイプで、この特殊な値はnullで、論理的にはnullは空のオブジェクトポインタを表しています.これもtypeofオペレータを使ってnull値をチェックすると「object」タイプに戻ります.var car = null;
console.log(typeof car);// object
実際、undefinedはnullから派生していますので、==操作符を使えば、trueに戻ります.console.log(null==undefined);// true;
Booleanこのタイプは二文字の面の値しかないです.true、false、大きさを区別して書くことに注意してください.Booleanタイプの字の面の値は二つしかないですが、ECMAScriptの中のすべてのタイプの値はこの二つのBooleanに相当する値があります.一つの値をその対応するBooleanに変換すると、モデルチェンジ関数Boolean()を使うことができます.var messageAsBoolean = Boolean(message);
console.log(messageAsBoolean); // true
実際には、どのような値でBooleanメソッドを呼び出しても、true、false、2つのブール値に戻りますが、判定基準は、変換するデータの種類と実際の値に依存します.実際の値が空でない場合はtrue、そうでない場合はfalse、デジタルタイプ、NaNタイプと0に対してfalse、対象に対してnullはfalse、戻ります.もちろんundefinedもあります.この点はif文にとって非常に重要であり、これによって次の行動が行われるかどうかを判断します.if (message) {
console.log("Value is True")
}
つまりメッセージの値があって、後のデータがあります.Numberタイプの最も基本的な字面量は10進数であり、直接に値を割り当てても良いし、整数は8進数または16進数の字面値で表されても良い.ここで、8進数の1桁は0、8進数の0-7でなければならない.文字面の値が範囲を超えていると、先頭ゼロは無視される.後の数値は10進数の数値解析として扱われます.var octalNum1 = 070;
var octalNum2 = 079; // ,
var octalNum3 = 08;
console.log(octalNum1, octalNum2, octalNum3); // 56, 79, 8
注意してください.8進数は厳格なモードでは無効です.エラーが発生します.十六進の前二桁は必ず0 xで、後は16進の数字となります.(0-9及びA-F)中、A-Fは小文字で書いてもいいです.var hexNum1 = 0xA;
var hexNum2 = 0x1f;
console.log(hexNum1, hexNum2); // 10, 31
最終的な計算では、8進数と16進数のすべての数値が最終的に10進数に変換されます.極小値の表示
var floatNum1 = 3.124e9;
console.log(floatNum1);//3124000000
var floatNum2 = 3.342e-4;
console.log(floatNum2);// 0.0003342
数値範囲はメモリの制限により、ECMAScriptは世の中のすべての値を保存できません.最小値はNumber.MIN_を保存します.VALEは、最大値はNumber.MAX_に保存されます.VALEでは、isfinite()関数により、値が貧乏かどうかを判断できます.var result =Number.MAX_VALUE + Number.MAX_VALUE;
console.log(isFinite(result)); // false
NaNは数値ではなく、Not a Numberは特殊な数値であり、この数値は本来数値を返すべき操作数が数値に戻らない場合を表しています.本来は数値がありますが、何の原因か分かりません.何の数値も返していないので、NaNを使って表しています.console.log(NaN/10); // NaN
. console.log(NaN == NaN);
console.log(isNaN(NaN)); // true
console.log(isNaN(10)); // false
console.log(isNaN('10')); // false
console.log(isNaN("fsdf")); // true
console.log(isNaN(true)); // false
これは逆の記憶が必要です.数値の変換3つの関数は、非数値を数値に変換することができます.Number()、パーrseInt()、パーrseFloat()の最初の関数である変換関数は、任意のデータタイプに使用できます.他の2つの関数は、文字列を数値に変換するために専用です.この3つの関数は同じ入力に対して異なる結果を返します.Numberは、ブール値であれば、0を返します.数字の値なら、単純な着信とリターンだけです.nullであれば、0を返します.undefindedならNaNに戻ります.
console.log(Number(10)); // 10
console.log(Number(false)); // 0
console.log(Number(null));// 0
console.log(Number(undefined)); // NaN
文字列である場合、以下の規則に従い、文字列が数字だけを含む場合、それを10進数に変換し、「011」は11になります.プリアンブルゼロは無視されます.浮動小数点の数値がある場合、1.1のように、対応する浮動小数点の数値に変換しても、プリアンブルゼロは無視されます.console.log(Number("12344")); // 12344
console.log(Number("2.43")); //2.43
console.log(Number("002.43")); // 2.43
文字列に16進数の書式が含まれている場合は、同じ大きさの10進数の整数値に変換します.console.log(Number("0xA")); //10
文字列が空であれば、0に変換し、文字列に上記形式以外の文字が含まれていれば、NaNをオブジェクトであれば、まず対象のvalueOf()方法を呼び出して、前の規則に従って戻り値を変換し、変換の結果がNaNであれば、対象のtoString()方法を適用します.その後、再び前の規則に従って返した文字列の値を変換します.パーrseInt()関数は、Number関数が文字列を変換する際に複雑で不合理であるためです.したがって、整数を処理する時に使うのがもっと多いのはパーrseInt()関数で、最初の非スペース記号が見つかるまで文字列の前のスペースを無視します.最初の文字が数字やマイナスの文字でないと、NaNに戻ります.つまり、彼で空の文字列を変換するとNaNに戻ります.Numberは0に戻ります.最初の数字文字を解析してから、すべての数値文字を解析するか、あるいは非数字文字に出会うまで、第二の数字文字を解析します.
num = parseInt("1234bsdkf");
console.log(num);
num1 = parseInt("");
console.log(num1); // NaN
num2 = parseInt("0xa");
num3 = parseInt("22.5");
num4 = parseInt("070");
console.log(num2, num3, num4,);// 10 , 22 ,70
ここで進数を指定できます.num_ = parseInt("070", 8);// 8 。
console.log(num_);// 56
Stringタイプvar age = 11;
var ageAsString = age.toString();
var found = true;
var foundAsString = found.toString();
console.log(ageAsString);
console.log(foundAsString);
3 String()メソッドです.変換する値がnullかundefinedかどうかは分かりませんが、String()メソッドを使えば、まずこの値に対してtoString()メソッドを呼び出すことができます.残りの場合は、nullがnullに戻り、undefinedがundefinedに戻ります.var value1 = 10;
var value2 = "";
var value3 = null;
var value4;
console.log(value1, value2, value3, value4);//10 '' null undefined
ObjectタイプObjectの各例は、以下の属性と方法を有する.現在のオブジェクトを作成するための関数が格納されています.hasOwnProperty:与えられた属性が現在のオブジェクトのインスタンスに存在するかどうかを確認するためのものです.
propertyIs Enumerableは、与えられた属性がfor-innを使って列挙されるかどうかを確認するために使用されます.
toString():戻り対象の文字はvalueOf():戻り対象の文字列を表します.数値、またはブール値は表します.通常はtoStringの戻り値と同じです.