ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptの6つのデータ型と注意点_JavaScriptのスキルについて簡単に解説
js の 6 つの一般的なデータ型: String 型、Null 型、Number 型、Boolean 型、および Object 型。
1. typeof
に関する注意事項データ型に関して言えば、演算子 typeof について言及することは避けられません。注:
1. Typeof はメソッドではなく演算子です。ただし、オブジェクトのデータ型を取得するには typeof() を使用することがよくあります。
2. null の typeof は object (null は空のオブジェクト参照であるため)、関数の typeof は function
2. 各種データ型のオブジェクト変数の初期値を設定する
最初に Object 型のオブジェクト変数に何を割り当てるか分からない場合は、var Demon={} を使用しないでください。
var d3='';//String default
var d4=0; //Number 型の初期値は 0 に設定されます
var d5=null; //初期のデフォルト値が設定されますオブジェクトタイプの場合
3. unfineed と null の違いと注意点
1. 「==」を使用して比較すると、比較は値であるため、それらは等しくなります
2. それらを区別するには 2 つの方法があります (その中心はデータ型を比較することです)
1) typeof を使用して区別します
2) 一致する "===" を使用します: 比較されるのは値とデータ型であり、それらがすべて同じである場合にのみ true が返されます
1. true と 1 の比較、および false と 0 の比較は同じです (これは「== 比較」です)。これは、データ型変換が内部で実装され、true が 1 に変換されるためです。 js 内部 データ型の自動変換が多数あり、誰もが注意を払う必要があります。さらに多くのことについては後で説明します。ただし、データ型が等しくないため、「===」を使用することは等しくありません。 2. Boolean への変換を表示するには、Boolean() メソッドを使用します。注意する必要があるのは、さまざまなデータ型、いつ true に変換されるか、いつ false に変換されるかです。
1) 文字列型。空の文字列でない限り、true に変換されます2) 数値型、0 以外であれば、負の数値でも true に変換されます
3) オブジェクト型は、null 型でない限り true に変換されます
4) 未定義の型は false に変換されます
私はデモンストレーションはしませんので、ご自身で試してみてください。
3. (***) if() ステートメント内の () はブール関数
を呼び出します。
5. 数値型に関する注意事項
1. Float 型は正確な計算を実行できません
コードをコピー
が返されます。
2) Number.NaN を通じて取得できます3) NaN と任意のオブジェクト間の演算は NaN を返します
4) isNaN() は NaN かどうかを判断します
コードをコピー
5) isNaN() の内部実行原理: オブジェクトにも同じことが当てはまります。実装原理: 首相はオブジェクトの valueOf() メソッドを呼び出し、数値に変換できる場合は直接判定し、数値に変換できない場合は再度 toString() メソッドを呼び出し、戻り値をテストします。 。
valueOf() は内部で toObject() メソッドを呼び出します。2 つのメソッドの内部実行原理は次のとおりです。
Number() の内部実装原則: isNaN() と同様に、valueOf() が最初に呼び出され、次に toString() が呼び出されます。 。したがって、パフォーマンスは比較的悪いと想像できます。 。したがって、変換されるオブジェクトが文字列である限り、内部で型を判断する必要がないため、parseInt() または parseFloat() を呼び出します。
parseInt() と parseFloat() 呼び出しの注意: 数値である最初の文字から始まり、数値である最初の文字の前の数値で終わると、文字列のこの部分は数値に変換されます
値が割り当てられている文字列変数を変更するには、まず変数内の文字列を破棄し、次に新しい値を含む文字列を変数に入力します。
コードをコピー要約: 変数を null または未定義にすることができないことがわかっている場合は、String() よりもパフォーマンスの高い toString() を使用してください。String() は内部で判断する必要があるため、パフォーマンスが低下します。