ES6扩展运算符(三点运算符)...的用法
2024-08-30 03:52:31
1. 第一个叫做 展开运算符(spread operator),作用是和字面意思一样,就是把东西展开。可以用在array和object上都行。
let a = [1,2,3];
let b = [0, ...a, 4]; // [0,1,2,3,4] let obj = { a: 1, b: 2 };
let obj2 = { ...obj, c: 3 }; // { a:1, b:2, c:3 }
let obj3 = { ...obj, a: 3 }; // { a:3, b:2 }
2. 第二个 剩余操作符(rest operator),是解构的一种,意思就是把剩余的东西放到一个array里面赋值给它。
let a = [1,2,3];
let [b, ...c] = a;
b; // 1
c; // [2,3] // 也可以
let a = [1,2,3];
let [b, ...[c,d,e]] = a;
b; // 1
c; // 2
d; // 3
e; // undefined // 也可以
function test(a, ...rest){
console.log(a); // 1
console.log(rest); // [2,3]
}
test(1,2,3)
let array = [1, 2, 3, 4, 5];
const [ x, y, ...z ] = array;
// 其中z=[3, 4, 5],注意如果由于array的length不足以完成析构,则会导致z为[]
对象:
let obj = { name: 'zhangsan', age: 30, city: 'shenzhen' };
const {name, ...others} = obj;
console.log(name); // 'zhangsan'
console.log(others); // {age: 30, city: 'shenzhen'}
最新文章
- Effective c++读书笔记
- python 反射器
- WPF TabControl 隐藏标头
- Java开发中经典的小实例-(随机产生验证码)
- Array.prototype.indexOf
- afterTextChanged() callback being called without the text being actually changed
- linux死锁检测的一种思路
- 二叉树的JAVA实现-二叉树的增删改查CRUD
- LFS7.4编译笔记(3)
- JavaScript之聊天室设计摸拟
- java应用CPU占用率过高问题的分析
- winForm 打印预览
- [转载]C#缓存absoluteExpiration、slidingExpiration两个参数的疑惑
- JavaScript函数(二)
- OSQA的配置
- js获取当前的日期时间 格式“yyyy-MM-dd HH:MM:SS”
- kubernetes 安装备注
- 遍历HashMap的四种方式
- Navicat Premium 12.1.11.0安装与激活
- spark MLlib Classification and regression 学习
热门文章
- SpringBoot时代背景
- nacos Failed to obtain JDBC Connection 连接异常
- 利用postman进行api接口开发
- QT常用控件(三)——自定义控件封装
- 开发者如何快速搭建自己的电商App?
- 攻防世界逆向——game
- BUUCTF-[SUCTF 2019]CheckIn(.user.ini利用+exif_imagetype绕过)
- C++ 二进制文件 读 写文件
- lerna 常用命令
- SQL injection : UNION attacks