JavaScript: プリミティブ型と参照型
メソッドを持たないデータ
種類
文字列 'string'
数値 1
, 3.14
真偽値 true
, false
null null
undefined undefined
シンボル
変数には値が格納される。変数がコピーされると、値がコピーされる。
jslet x = 0;
let y = x; // y には 0が格納される。0への参照ではない。
x = 1;
console.log(y) // 0
オブジェクトのように扱われると、ラッパーオブジェクト?を生成してオブジェクトのように扱われる
プリミティブ型以外はすべてオブジェクト
Object()
{key: value}
Array()
[1, 2, 3]
Function()
function() {}
Date()
new Date()
RegExp()
/^a/
Error()
new Error()
複合型とも
リテラルもしくは new
演算子で生成
変数にはオブジェクトへの参照が格納される。変数がコピーされると、オブジェクトへの参照がコピーされる。
jslet obj1 = {};
let obj2 = obj1; // obj2 には {}への参照が格納される。
obj1.prop = 1;
console.log(obj2.prop) // 1
データ型を調べる方法
jsconsole.log(typeof true); // "boolean"
参考
開眼! JavaScript