JS之ES6扩展运算符三个点(...)用于剥离{} 获取属性值
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扩展运算符三个点(...)用于剥离{} 获取属性值相关推荐
- ES6——扩展运算符/三点运算符(...)
扩展运算符(spread)是三个点(...). 数组的扩展运算符 对于数组来说,它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. console.log(...[1, 2, 3]) ...
- ES6 扩展运算符 三个点(...)
参考文档 点击打开链接 1. 用于函数调用 2. 数组拼接,代替concat方法 3. 计算最大值 4. 结合结构赋值使用 (只能放在最后一位,否则会报错) 5. 函数只能返回一个值,可用... 变通 ...
- ES6扩展运算符(三点符号), 解构
http://www.cnblogs.com/chrischjh/p/4848934.html 转载于:https://www.cnblogs.com/lianxisheng/p/10421967.h ...
- javascript ES6 新特性之 扩展运算符 三个点 ...
对于 ES6 新特性中的 ... 可以简单的理解为下面一句话就可以了: 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中. 作用类似于 Object.assign() ...
- ES6扩展运算符的几个小技巧
es6扩展运算符,也就是... ,作用是将一个数组转为用逗号分隔的参数序列. 那么问题来了,我们为啥要用这么奇怪的东东涅,当然因为它能大大提高我们的开发效率.所以,可别小看这三个点. 1.复制数组( ...
- ES6 - 扩展运算符与Object.assign对象拷贝与合并
文章目录 扩展运算符能做什么? 什么是深浅拷贝 使用ES6扩展运算符 对象浅拷贝 对象合并 Object.assign Object.assign详解 Object.assign()实用 给对象添加属 ...
- js获取属性值,自定义属性,修改移除属性值
补充:由于不清楚一些属性是内置属性还是自定义属性 所以h5规定 自定义属性使用date-开头作为属性并赋值 案例1: <body><div date-index="1&qu ...
- ES6增加了扩展运算符: ... 三个点是ES几的
ES6 的扩展运算符( spread )是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. 1.将一个数组转为用逗号分隔的参数序列(把数组中元素展开). 如下: ...
- js数组合并、去重、降维(ES6:扩展运算符、Set)
js数组合并.去重.降维 1.合并 1.1使用concat()进行合并数组 function get_concat(collection_a, collection_b) {return collec ...
最新文章
- Go 学习笔记(66)— Go 并发同步原语(sync.Mutex、sync.RWMutex、sync.Once)
- foreman源NO_PUBKEY 6F8600B9563278F6
- 并发编程总结4-JUC-REENTRANTLOCK-2(公平锁)
- 假设有搅乱顺序的一群儿童成一个队列_数据结构与算法系列之栈amp;队列(GO)...
- 计算机系统与环境,COMPUTERS ENVIRONMENT AND URBAN SYSTEMS《计算机、环境与城市系统》SSCI论文投稿_万维书刊网...
- python pdf报告_python生成pdf报告、python实现html转换为pdf报告
- iOS最好用的弹出框
- Adobe Premiere(pr)2021 安装教程【64位】
- 在过程中要正式批准可交付成果_2014年PMP考试模拟题
- Silvaco TCAD安装包相关问题
- JS图片压缩+图片上传前检测类型、大小、尺寸
- 蒟蒻の背包dp学习总结
- HOJ 4585 Shaolin(map, 迭代器)
- python经典练习题汇总
- 共享磁盘到远程服务器上,远程桌面链接怎么共享本地磁盘,你值得一看的技巧...
- python 面向对象 烤地瓜实例
- 计算机生命科学研究系,生命科学与计算机科学的结合发展研究
- Django应用容器封装DockerFile分享
- 解决页面刷新数据丢失,数据持久化问题
- 7-20 奥运排行榜
热门文章
- AttributeError: module ‘tensorflow‘ has no attribute ‘placeholder‘
- 40_pytorch Batch Norm
- window下eclipse +cdt+cygwin做C,C++开发环境搭建 (转自:http://blog.csdn.net/thinkandchange/article/details/7935)
- mariadb CTE示例
- 动画狗奔跑gif图片_常用的GIF制作工具,自媒体人常用,你还不会做表情包
- 神奇的计算机技术 教案,神奇的笔记本教学设计
- Qt学习笔记之国际化
- Python机器视觉编程常用数据结构与示例
- Dropout_layer.cpp(防止过拟合)
- 基于ffmpeg和libvlc的视频剪辑、播放器