首先創(chuàng)建如下對象
var obj = {
a: 2
}
obj.a //2
obj["a"] //2
第一種方式叫做屬性訪問,第二種方式叫做鍵訪問,實際上它們訪問的是同一個地方
可計算屬性名
當(dāng)需要用表達(dá)式來計算屬性時,obj[""]這種屬性訪問詞就可以派上用場了
以下例子
var a = "hello"
var obj = {}
obj[a+"c"] = "good"
console.log(obj) //{helloc: "good"}
ES6的淺拷貝assign
ES6的assign可以很輕松的實現(xiàn)淺拷貝
var a = {
hello: "world"
}
var b = {
c: "good"
}
var c = {
hello: "hello"
}
var d = {
a: a,
b: b,
c: c
}
var copyD = Object.assign({}, d)
copyD.a === a //true
copyD.a === d.a //true
assign的原理是使用“=”操作符來賦值
屬性描述符
ES5開始js的所有屬性都具備了屬性描述符
以下例子
var a = {
x: 1
}
Object.getOwnPropertyDescriptor(a, "x")
//{
value: 1,
writable: true,
enumerable: true,
configurable: true
}
ES6數(shù)組遍歷for of
ES6增加了數(shù)組遍歷的方法for...of
如下例子
let arr = [1, "good", function a(){
console.log(a)
}]
for(let v of arr){
console.log(v)
}
//1
good
? a(){
console.log(a)
}
注意:想要在Object對象使用for...of循環(huán)需要給你要操作的對象定義@@iterator