...運算子用於運算元組,有兩種層面
1. 第乙個叫做 展開運算子(spread operator),作用是和字面意思一樣,就是把東西展開。可以用在array和object上都行。
比如:let a = [1,2,3];
let b = [0, ...a, 4]; // [0,1,2,3,4]
let obj = ;
let obj2 = ; //
let obj3 = ; //
2. 第二個,第三個叫做 剩餘操作符(rest operator),是解構的一種,意思就是把剩餘的東西放到乙個array裡面賦值給它。一般只針對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)
test(1,2,3)
還有類似的
let array = [1, 2, 3, 4, 5];
const = array;
// 其中z=[3, 4, 5],注意如果由於array的length不足以完成析構,則會導致z為
物件:
let obj = ;
const = obj;
console.log(name); // 'zhangsan'
console.log(others); //
**
ES6 擴充套件運算子 三點( )
擴充套件運算子 spread 是三個點 物件中的擴充套件運算子 用於取出引數物件中的所有可遍歷屬性,拷貝到當前物件之中 let bar let baz 上述方法實際上等價於 let bar let baz object.assign bar object.assign方法用於物件的合併,將源物件 s...
ES6三點擴充套件運算子
擴充套件運算子將乙個陣列轉為用逗號分隔的引數序列 將乙個陣列,變為引數序列 3 使用push將乙個陣列新增到另乙個陣列的尾部 合併陣列 將字串轉換為陣列 轉換偽陣列為真陣列 var nodelist document.queryselectorall p var array nodelist 具有i...
ES6 擴充套件運算子
擴充套件運算子用3個點表示,功能是把陣列或者類陣列物件展開成一系列用逗號隔開的值 1,陣列 let arr red green blue console.log arr red,green,blue拷貝陣列 和object.assign一樣都是淺拷貝 let arr red green blue l...