1.用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中

let bar = { a: 1, b: 2 };
let baz = { ...bar }; // { a: 1, b: 2 }
等价于
let bar = { a: 1, b: 2 };
let baz = Object.assign({}, bar); // { a: 1, b: 2 }

1.1同名属性会被覆盖

let bar = {a: 1, b: 2};
let baz = {...bar, ...{a:2, b: 4}};  // {a: 2, b: 4}

2.数组的扩展运算符

2.1可以将数组转换为参数序列

function add(x, y) {return x + y;
}const numbers = [4, 38];
add(...numbers) // 42

2.2扩展运算符还可以将字符串转为真正的数组

[...'hello']
// [ "h", "e", "l", "l", "o" ]

2.3基础类型是拷贝 数组是引用

let obj1 = { a: 1, b: 2};
let obj2 = { ...obj1, b: '2-edited'};
console.log(obj1); // {a: 1, b: 2}
console.log(obj2); //  {a: 1, b: "2-edited"}let obj1 = { a: 1, b: 2, c: {nickName: 'd'}};
let obj2 = { ...obj1};
obj2.c.nickName = 'd-edited';
console.log(obj1); // {a: 1, b: 2, c: {nickName: 'd-edited'}}
console.log(obj2); // {a: 1, b: 2, c: {nickName: 'd-edited'}}

JS之ES6扩展运算符三个点(...)用于剥离{} 获取属性值相关推荐

  1. ES6——扩展运算符/三点运算符(...)

    扩展运算符(spread)是三个点(...). 数组的扩展运算符 对于数组来说,它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(...[1, 2, 3]) ...

  2. ES6 扩展运算符 三个点(...)

    参考文档 点击打开链接 1. 用于函数调用 2. 数组拼接,代替concat方法 3. 计算最大值 4. 结合结构赋值使用 (只能放在最后一位,否则会报错) 5. 函数只能返回一个值,可用... 变通 ...

  3. ES6扩展运算符(三点符号), 解构

    http://www.cnblogs.com/chrischjh/p/4848934.html 转载于:https://www.cnblogs.com/lianxisheng/p/10421967.h ...

  4. javascript ES6 新特性之 扩展运算符 三个点 ...

    对于 ES6 新特性中的 ... 可以简单的理解为下面一句话就可以了: 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中. 作用类似于 Object.assign() ...

  5. ES6扩展运算符的几个小技巧

    es6扩展运算符,也就是...  ,作用是将一个数组转为用逗号分隔的参数序列. 那么问题来了,我们为啥要用这么奇怪的东东涅,当然因为它能大大提高我们的开发效率.所以,可别小看这三个点. 1.复制数组( ...

  6. ES6 - 扩展运算符与Object.assign对象拷贝与合并

    文章目录 扩展运算符能做什么? 什么是深浅拷贝 使用ES6扩展运算符 对象浅拷贝 对象合并 Object.assign Object.assign详解 Object.assign()实用 给对象添加属 ...

  7. js获取属性值,自定义属性,修改移除属性值

    补充:由于不清楚一些属性是内置属性还是自定义属性 所以h5规定 自定义属性使用date-开头作为属性并赋值 案例1: <body><div date-index="1&qu ...

  8. ES6增加了扩展运算符: ... 三个点是ES几的

    ES6 的扩展运算符( spread )是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. 1.将一个数组转为用逗号分隔的参数序列(把数组中元素展开). 如下: ...

  9. js数组合并、去重、降维(ES6:扩展运算符、Set)

    js数组合并.去重.降维 1.合并 1.1使用concat()进行合并数组 function get_concat(collection_a, collection_b) {return collec ...

最新文章

  1. Go 学习笔记(66)— Go 并发同步原语(sync.Mutex、sync.RWMutex、sync.Once)
  2. foreman源NO_PUBKEY 6F8600B9563278F6
  3. 并发编程总结4-JUC-REENTRANTLOCK-2(公平锁)
  4. 假设有搅乱顺序的一群儿童成一个队列_数据结构与算法系列之栈amp;队列(GO)...
  5. 计算机系统与环境,COMPUTERS ENVIRONMENT AND URBAN SYSTEMS《计算机、环境与城市系统》SSCI论文投稿_万维书刊网...
  6. python pdf报告_python生成pdf报告、python实现html转换为pdf报告
  7. iOS最好用的弹出框
  8. Adobe Premiere(pr)2021 安装教程【64位】
  9. 在过程中要正式批准可交付成果_2014年PMP考试模拟题
  10. Silvaco TCAD安装包相关问题
  11. JS图片压缩+图片上传前检测类型、大小、尺寸
  12. 蒟蒻の背包dp学习总结
  13. HOJ 4585 Shaolin(map, 迭代器)
  14. python经典练习题汇总
  15. 共享磁盘到远程服务器上,远程桌面链接怎么共享本地磁盘,你值得一看的技巧...
  16. python 面向对象 烤地瓜实例
  17. 计算机生命科学研究系,生命科学与计算机科学的结合发展研究
  18. Django应用容器封装DockerFile分享
  19. 解决页面刷新数据丢失,数据持久化问题
  20. 7-20 奥运排行榜

热门文章

  1. AttributeError: module ‘tensorflow‘ has no attribute ‘placeholder‘
  2. 40_pytorch Batch Norm
  3. window下eclipse +cdt+cygwin做C,C++开发环境搭建 (转自:http://blog.csdn.net/thinkandchange/article/details/7935)
  4. mariadb CTE示例
  5. 动画狗奔跑gif图片_常用的GIF制作工具,自媒体人常用,你还不会做表情包
  6. 神奇的计算机技术 教案,神奇的笔记本教学设计
  7. Qt学习笔记之国际化
  8. Python机器视觉编程常用数据结构与示例
  9. Dropout_layer.cpp(防止过拟合)
  10. 基于ffmpeg和libvlc的视频剪辑、播放器