基礎構文については
【学習メモ】JavaScriptの基礎まとめ
プリミティブ型とは、メソッドを持たないデータで、文字列、数値、Bigint、真偽値、undefined、シンボルがある。
プリミティブ型は、オブジェクト型と異なり値を変更することができない値として定義される。
Primitive(プリミティブ)
JavaScriptのデータ型と参照
####◾️値を変更した時の影響をまとめてみました。
####1、プリミティブ型は、一方が変更されてもその影響を受けない。
例:
aに35を代入し、aをbに代入してみる。この時点ではa,b共に35となる。
次にaに47を改めて代入し、値を更新する。
しかし、bは依然として47のままとなる。
var a = 35;
var b = a;
a = 47;
console.log(a); //47
console.log(b); //35
####2、オブジェクト型は、一方が変更されるともう一方も影響を受ける。
2つのオブジェクト、obj1とobj2を作ってみる。
obj1をobj2に代入後、obj1の値を更新すると,
obj2の値も更新される。
//オブジェクト型
var obj1 = {
name: 'Sho',
age: 28
};
//obj1をobj2に代入
var obj2 = obj1;
//obj1の値を更新
obj1.age = 32;
//obj2の値も更新される
console.log(obj1.age); //32
console.log(obj2.age); //32
####3、プリミティブ型とオブジェクト型の比較
//プリミティブ型
var age = 28;
//オブジェクト型
var obj = {
name: 'Sho',
job: 'salesMan'
};
function change(a, b){
a = 30;
b.job = 'enginner';
}
//changeの引数にプリミティブ型とオブジェクト型を渡す
change(age, obj);
//プリミティブ型であるageは28のまま
//オブジェクト型であるobjは変更される。
console.log(age); // 28
console.log(obj.job); //enginner