ES6 擴充套件操作符騷操作

2021-10-10 06:07:52 字數 1259 閱讀 7867

複製和合併陣列變得更為簡潔。不需要使用 concat() 方法或 slice() 方法,乙個 … 操作符已經足夠:

const arr1 =[10

,20,30

];const copy =

[...arr1]

;console.

log(copy)

;// → [10, 20, 30]

const arr2 =[40

,50];

const merge =

[...arr1,

...arr2]

;console.

log(merge)

;// → [10, 20, 30, 40, 50]

將陣列作為乙個需要單獨乙個個傳入引數的函式的引數

const arr =[10

,20,30

]// equivalent to

// console.log(math.max(10, 20, 30));

console.

log(math.

max(

...arr));

// → 30

物件屬性展開複製

const obj1 =

;const obj2 =

;console.

log(obj2)

;// →

如果存在相同的值 後者覆蓋前者

const obj2 =

;console.

log(obj2)

;// →

合併物件 類似於object.assign

const obj1 =

;const obj2 =

;const obj3 =

;// es2018

console.

log();

// →

// es2015

console.

log(object.

assign

(, obj1, obj2, obj3));

// →

不過,擴充套件屬性並不總能生成與 object.assign() 相同的結果 具體自己去試驗下 要點 == setter

ES6的擴充套件操作符

es6中的擴充套件操作符實際上與rest引數非常相似。前者是.後者則是.變數名。那它們主要的區別我個人認為主要是兩個 rest引數使用在函式的引數定義時,擴充套件操作符使用在函式呼叫時。function foo items console.log 1,2,3,4,5 這裡的.就是擴充套件操作符擴充套...

es6新特性展開操作符「 」

展開操作符 允許乙個表示式在某處展開,在存在多個引數 用於函式呼叫 多個元素 用於陣列字面量 或者多個變數 用於解構賦值 的地方就會出現這種情況。如果在之前的js中想讓乙個函式把乙個陣列一次作為引數進行呼叫時 function test x,y,z var args 1,2,3 使用 時 var a...

ES6特性之 Spread操作符

spread操作符 也稱作展開操作符,作用是將可迭代的 iterable 物件進行展開。比如有2個陣列,我們要將其中乙個陣列中所有元素插入到另乙個陣列中,通過spread操作符,就可以這樣進行 var shoppinglist t shirt fruits,egg 我們看到,通過在shoppingl...