Javascript は型指定が弱い言語ですが、独自のデータ型 (Number、String、Boolean、Object、Udefine、Null) もいくつか持っています。このうち、Object は複雑なデータ型であり、順序付けされていないキーと値のペアで構成されます。残りのいくつかの型は単純なデータ型です。注: 変数タイプの最初の文字は大文字ですが、変数値の最初の文字は小文字です。
JavaScript はカスタム型をサポートしていないため、JavaScript のすべての値はこれら 6 つの型のいずれかに属します。
変数のデータ型を確認するには、typeof 演算子を使用する必要があります。そのため、typeof の文字「o」は小文字です。
構文: typeof temp; //temp は変数です。ここで括弧を追加する必要はありませんが、プログラムを読みやすくするために括弧を追加することをお勧めします。
JavaScript 自体は typeof を使用して変数の型を検出できますが、たとえば、配列の型が実際には「Object」であるなど、一部の結果は混乱を招きます。
以下は typeof を使用してさまざまなデータ型を判定した結果です
var myFunction = function() { console.log('hello'); }; var myObject = { foo : 'bar' }; var myArray = [ 'a', 'b', 'c' ]; var myString = 'hello'; var myNumber = 3; typeof myFunction; // 返回 'function' typeof myObject; // 返回 'object' typeof myArray; // 返回 'object' -- 小心哦! typeof myString; // 返回 'string'; typeof myNumber; // 返回 'number' typeof null; // 返回 'object' -- 小心哦! if (myArray.push && myArray.slice && myArray.join) { // 很可能是一个数组 // 当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。 } if (Object.prototype.toString.call(myArray) === '[object Array]') { // 肯定是一个数组! // 这是判断一个变量是否为数组的最可靠方法 }