【JavaScript】データ型を調べる
データ型とは?
- undefined, Boolean, Number, String, BigInt, Symbol, Object, Function, null等の値の型のこと
データ型を調べる
- typeof演算子で調べることができる
- JavaScriptは他の言語の浮動小数点型(Float型)と整数型(Integer型)がNumber型として扱われるので注意
MDNから引用
// 数値 typeof 37 === 'number'; typeof 3.14 === 'number'; typeof(42) === 'number'; typeof Math.LN2 === 'number'; typeof Infinity === 'number'; typeof NaN === 'number'; // "Not-A-Number" であるにもかかわらず。 typeof Number('1') === 'number'; // Number は数値に型強制できない値を含めて、 typeof Number('shoe') === 'number'; // あらゆるものを数字に解析します。 typeof 42n === 'bigint'; // 文字列 typeof '' === 'string'; typeof 'bla' === 'string'; typeof `template literal` === 'string'; typeof '1' === 'string'; // 文字列内の数値は文字列型のままです。 typeof (typeof 1) === 'string'; // typeof は常に文字列を返します。 typeof String(1) === 'string'; // String は何でも文字列に変換するので、toString よりも安全です。 // 真偽値 typeof true === 'boolean'; typeof false === 'boolean'; typeof Boolean(1) === 'boolean'; // Boolean は、値が truthy か falsy かに基づいて変換します。 typeof !!(1) === 'boolean'; // ! (論理 NOT) 演算子 2 つの呼び出しは、Boolean() と同等です。 // シンボル typeof Symbol() === 'symbol' typeof Symbol('foo') === 'symbol' typeof Symbol.iterator === 'symbol' // Undefined typeof undefined === 'undefined'; typeof declaredButUndefinedVariable === 'undefined'; typeof undeclaredVariable === 'undefined'; // オブジェクト typeof {a: 1} === 'object'; // Array.isArray または Object.prototype.toString.call を使用して、 // 通常のオブジェクトと配列を区別します。 typeof [1, 2, 4] === 'object'; typeof new Date() === 'object'; typeof /regex/ === 'object'; // 過去の実装は正規表現を参照してください。 // 以下のようなものは、紛らわしく、危険で、無駄なものです。それらの使用を避けてください。 typeof new Boolean(true) === 'object'; typeof new Number(1) === 'object'; typeof new String('abc') === 'object'; // 関数 typeof function() {} === 'function'; typeof class C {} === 'function'; typeof Math.sin === 'function';
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/typeof