js对象

首先创建如下对象

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官方中文版原文链接 感谢社区中各位的大力支持,译者再次奉上一点点福利:阿里云产品券,享受所有官网优惠,并抽取幸运大...
    HetfieldJoe阅读 7,391评论 9 22
  • 1.属性的简洁表示法 允许直接写入变量和函数 上面代码表明,ES6 允许在对象之中,直接写变量。这时,属性名为变量...
    雨飞飞雨阅读 4,842评论 0 3
  • 特别说明,为便于查阅,文章转自https://github.com/getify/You-Dont-Know-JS...
    杀破狼real阅读 3,865评论 0 1
  • 三,字符串扩展 3.1 Unicode表示法 ES6 做出了改进,只要将码点放入大括号,就能正确解读该字符。有了这...
    eastbaby阅读 5,455评论 0 8
  • 就算你很努力的让自己变成一个好看的人,可爱的人,讨人喜欢的人,也难保自己不会爱上一个孙子,我爱上过一个孙子。当我兴...
    烟涩寒阅读 1,404评论 0 0