对象的扩展 --es6

1 属性的简写表示法:
先举个例子:

image.png

表明在es6中,允许只使用属性名,不写属性值。这时候属性值就等于属性名对应的变量。

let Person = {
    name: 'zhangsan',
    birth,   // birth: birth
    hello() {  // hello: function () ......
        console.log('我的名字是', this.name)
    }
}

这种简写在平时写的vue中到处都是
如:

image.png

这里的路由router就很好理解了,就等同于:
router: router

2 rest参数和扩展运算符的使用,都是...
区别: 主要看...后面的是要被赋值还是已经有值然后赋值给别的变量或者对象。

        let {a, ...z} = {
            a: 1,
            b: 2,
            c: 3
        }
        console.log(z)   // rest参数,后面是待赋值的变量

        let arr = {
            a: 1,
            b: 2
        }
        let temp = { ...arr }
        console.log(temp)    // 扩展运算符 ,后面是已经初始化的对象                

rest参数: 从一个对象取值,相当于将所有可遍历但尚未被读取的属性,分配到指定的对象上,所有的键都会被赋值到新对象上。

扩展运算符: 取出参数对象的所有的可遍历属性,复制到当前对象中

3 for ... in . ... 会遍历到原型对象上的属性,但是终极原型比如Object,Array等等,他们的length属性,toString()方法,可以通过可枚举属性enumerable为false来规避掉for..in这种操作。
遍历属性时,尽量还是用object.keys()方法,返回一个数组

image.png

for..of 用于遍历数组

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

推荐阅读更多精彩内容

  • 1.属性的简洁表示法 允许直接写入变量和函数 上面代码表明,ES6 允许在对象之中,直接写变量。这时,属性名为变量...
    雨飞飞雨阅读 1,159评论 0 3
  • 三,字符串扩展 3.1 Unicode表示法 ES6 做出了改进,只要将码点放入大括号,就能正确解读该字符。有了这...
    eastbaby阅读 1,577评论 0 8
  • 大家好!我是李倩,来自长沙,从事企业管理工作,现在还在加班开会,所以临时写了一个简单得不能再简单的简介。 我是一个...
    Ayra_061b阅读 221评论 0 0
  • 第三次看基耶斯洛夫斯基的蓝白红三部曲,依旧记不起什么情节,认真地看每一句字幕,怕错过任何一句浅显却又意味深长的词。...
    吖吖不语阅读 455评论 0 0
  • 相爱的人 感恩命运的相遇 即使时间的流逝 也会相信来世的重逢 今生今世所有的经历 都会藏在灵魂深处 等待被唤醒 等...
    蓝天下永恒的流星阅读 138评论 0 0