前面十天我們講 JavaScript 可以分成基本型別以及物件型別,基本型別裡面的資料會以值存在像是 String, number, boolean, null, undefined ,物件的話可能有多種不同的型別(含值或物件)組成的物件。
假設指定兩個變數為 5
var a = 5
var b = 5
console.log( a === b) // true
基本型別會認為這兩個是一樣的。
var a = "Jerry"
var b = "Jerry"
console.log( a === b) //true
字串也是
而物件型別的比較就會有稍稍不一樣了,下面範例中宣告兩個擁有 value 的物件:
var obj1 = { value : 5 };
var obj2 = { value : 5 };
console.log( obj1 === obj2 ); // false
是不是覺得很錯愕?
JavaScript 的世界裡面,物件都會被當一個實體。假設今天有兩個同名同姓的人出現,但是實際上他們不是同一個人,對吧!
以物件為實體的前提下,如果我在其中一個同名同姓的人身上畫了一隻皮卡丘(我就喜歡皮卡丘),那另外一個人肯定不會有我畫的皮卡丘:
var person1 = { name : "Jerry" };
var person2 = { name : "Jerry" };
console.log( person1 === person2 ) // false
// 我在 person1 身上畫了一個皮卡丘
person1.pikachu = true;
// person2 肯定不會有皮卡丘
console.log(person2.pikachu) // undefined
今天就先介紹到這邊啦,敬請期待下集 XD 明天見啦~