JavaScript は弱い型付け言語 (A Loosely Typed Language) です。 変数の宣言時に、型を指定する必要はありませんが、内部的には型情報を保持しています。
var s = 'Hello World'; // 型指定はしていないが、内部的に文字列型として保持される
print(typeof s); // => string
JavaScript の型には 5 つの基本型 (primitive value) と、プロパティを持つことができるオブジェクト型があります。 ようするに、全部で 6 つの型があります。
5 つの基本型は、ECMAScript の仕様書では、primitive value と呼ばれています。 JavaScript には、C/C++ や Java 言語における char のような1文字を格納するための型は存在しないため、長さ1の string 値で代用することになります。 配列に関してはオブジェクト型(Array オブジェクト)に分類されています。
変数が参照している値の型を調べるには、typeof
を使用します。
リテラルの型を調べることもできます。
print(typeof 100); //=> number
print(typeof 'xyz'); //=> string
print(typeof true); //=> boolean
print(typeof null); //=> object
print(typeof {}); //=> object
print(typeof undefined); //=> undefined
null
の型が、なぜか object になることに注意が必要です。