データ型
JavaScriptで扱うことのできるデータの型は次のとおりです。
ほかにもError型などがあります。
undefined
データ型が未定義で値がない。
null
値がない (オブジェクト型)
Number
数値型 (浮動小数点数)
BigInt *ES2020
長整数型 (浮動小数点数)
String
文字列型
Boolean
論理型
Symbol *ES2015
シンボル型
Object
- オブジェクト型
- Function (関数)
- Array (配列)
- Date (日付)
- RegExp (正規表現)
- データ型は typeof 演算子で調べることができます。
JavaScript
var val1 ;
console.log(val1,typeof(val1)); // undefined 'undefined'
var val2 = null ;
console.log(val2,typeof(val2)); // null 'object'
var val3 = 123 ;
console.log(val3,typeof(val3)); // 123 'number'
var val4 = 123n ;
console.log(val4,typeof(val4)); // 123n 'bigint'
var val5 = 'SakuraString' ;
console.log(val5,typeof(val5)); // SakuraString string
var val6 = true ;
console.log(val6,typeof(val6)); // true 'boolean'
var val7 = Symbol() ;
console.log(val7,typeof(val7)); // Symbol(sakuraSymbol) 'symbol'
var val8 = { 'key' : 'sakuraObject' } ;
console.log(val8,typeof(val8)); // {key: 'sakuraObject'} 'object'
try{
var valx = 2n + 5;
} catch (e) {
console.log(e.name + ': ' + e.message ,typeof(e)) ; // TypeError: Cannot mix BigInt and other types, use explicit conversions object
}
実行結果
undefined 'undefined'
null 'object'
123 'number'
123n 'bigint'
SakuraString string
true 'boolean'
Symbol() 'symbol'
{key: 'sakuraObject'} 'object'
TypeError: Cannot mix BigInt and other types, use explicit conversions object
おまけの話
JavaScriptの全てのデータ型は、データ型のオブジェクトにプロトタイプ継承されています。
(nullはプロトタイプ継承しないオブジェクトで例外)
例えば、文字列型は「文字列型オブジェクトを継承するデータ型」といえます。
文字列を大文字に変換する toUpperCase() は次のように表現できます。
JavaScript
String.prototype.toUpperCase()
String オブジェクトにプロトタイプ継承した toUpperCase() メソッドとなります。
undefined は何もない状態。
null は全てのデータ型の始祖のオブジェクト、他のデータ型は null から派生する。
その他のデータ型や関数は、データ型や関数型のオブジェクトを継承するオブジェクト。
( object型も object というオブジェクトを継承するオブジェクト)
ややこしいなと、思った方は忘れてください。
別に知らなくても、どうってことはないです。
参考リンク
MDN 開発者向けのウェブ技術 > JavaScriptのデータ型とデータ構造

プログラミング言語には、どれにも組み込みデータ構造がありますが、ふつうは言語ごとに異なります。この記事では、JavaScript で使用可能な組み込みデータ構造…
developer.mozilla.org
MDN 開発者向けのウェブ技術 > JavaScript「再」入門

JavaScript はマルチパラダイムの動的言語であり、型や演算子、標準組み込みオブジェクト、メソッドがあります。その構文は Java や C 言語に由来する…
developer.mozilla.org