《ES6扩展运算符(三点运算符)...的用法》要点:
本文介绍了ES6扩展运算符(三点运算符)...的用法,希望对您有用。如果有疑问,可以联系我们。
...运算符用于操作数组,有两种层面
1. 第一个叫做 展开运算符(spread operator),作用是和字面意思一样,就是把东西展开。可以用在array和object上都行。
比如:
let a = [1,2,3];
let b = [0,...a,4]; // [0,1,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里面赋值给它。一般只针对array的解构,其他的没见过。。。
比如:
let a = [1,3];
let [b,...c] = a;
b; // 1
c; // [2,3]
// 也可以
let a = [1,...[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,3)
还有类似的
let array = [1,4,5];
const { x,y,...z } = array;
// 其中z=[3,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'}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。