1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【学習メモ】JavaScript(プリミティブ型とオブジェクト型)

Posted at

基礎構文については
【学習メモ】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
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?