1 回答

TA貢獻1789條經(jīng)驗 獲得超10個贊
第一個叫做 展開運算符(spread operator),作用是和字面意思一樣,就是把東西展開??梢杂迷?code>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 }
第二個,第三個叫做 剩余操作符(rest operator),是解構(gòu)的一種,意思就是把剩余的東西放到一個array
里面賦值給它。一般只針對array
的解構(gòu),其他的沒見過。。。
比如:
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)
添加回答
舉報