首先创建如下对象
var obj = {
a: 2
}
obj.a //2
obj["a"] //2
第一种方式叫做属性访问,第二种方式叫做键访问,实际上它们访问的是同一个地方
可计算属性名
当需要用表达式来计算属性时,obj[""]这种属性访问词就可以派上用场了
以下例子
var a = "hello"
var obj = {}
obj[a+"c"] = "good"
console.log(obj) //{helloc: "good"}
ES6的浅拷贝assign
ES6的assign可以很轻松的实现浅拷贝
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数组遍历for of
ES6增加了数组遍历的方法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循环需要给你要操作的对象定义@@iterator
网友评论