1. 程式人生 > >es6中的物件

es6中的物件

ES6允許把宣告的變數直接賦值給物件,我們看下面的例子。

let a="leiy"
let b="ly"
var obj={a,b}
console.log(obj);

列印結果:

{ a: 'leiy', b: 'ly' }

物件Key值構建

有時候我們會在後臺取出key值,而不是我們前臺定義好的,這時候我們如何構建我們的key值。比如我們在後臺取了一個key值,然後可以用[ ] 的形式,進行物件的構建。

let key="skill"
var obj={
	[key]:'web'
}
console.log(obj);
console.log(obj.skill);

列印結果:

{ skill: 'web' }
web

物件方法就是把物件中的屬性,用匿名函式的形式程式設計方法。這個在以前就有應用,我們這裡只是簡單的複習一下。

let obj={
	add:function(a,b){
		return a+b
	}
}
console.log(obj.add(1,2));

列印結果:

3

Object.is(  ) 物件比較

物件的比較方法,以前進行物件值的比較,經常使用===來判斷,比如下面的程式碼:

var obj1={name:'leiy'}
var obj2={name:'leiy'}
console.log(obj1.name===obj2.name);
列印結果:
true

那ES6為我們提供了is方法進行對比。

let obj1={name:'leiy'}
let obj2={name:'leiy'}
console.log(Object.is(obj1.name,obj2.name));

列印結果:

true

區分=== 和 is方法的區別是什麼,看下面的程式碼輸出結果。

console.log(+0 === -0);  //true
console.log(NaN === NaN ); //false
console.log(Object.is(+0,-0)); //false
console.log(Object.is(NaN,NaN)); //true

===為同值相等,is()為嚴格相等。

Object.assign(  )合併物件

運算元組時我們經常使用數組合並,那物件也有合併方法,那就是assgin(  )。

let obj1={name:'leiy'}
let obj2={rr:'ly'}
let obj3={cc:'tui'}
let obj=Object.assign(obj1,obj2,obj3)
console.log(obj);

列印結果:

{ name: 'leiy', rr: 'ly', cc: 'tui' }