es6 -- 默認參數Default,不定參數Rest,擴展運算符Spread詳解

歡迎訪問個人我的博客:http://www.xiaolongwu.cngit

前言

記錄一下在實際開發中,頗有用的三個es6的新方法es6

用法詳解

默認參數
function f(x, y=13) {
  // 若是沒有傳入y或傳入了undefined,y的默認值爲13
  return x + y;
}
f(5) // 18
不定參數Rest

不定參數rest,讓咱們再也不須要arguments,從而避免不少麻煩github

function f(x, ...r) {
  // y是一個數組
  console.log(r);  //["h", true]
  return x * r.length;
}
f(4, "h", true) // 8
擴展運算符

一、展開運算符,展開函數的參數。數組

function f(x, y, z) {
  return x + y + z;
}
// 將數組中的每一個元素展開爲函數參數
f(...[3,5,7]) //  15

二、擴展運算符取代apply方法的一個實際的例子,應用Math.max方法,簡化求出一個數組最大元素的寫法。app

// ES5 的寫法
Math.max.apply(null, [14, 3, 77])
 
// ES6 的寫法
Math.max(...[14, 3, 77])
 
// 等同於
Math.max(14, 3, 77);

三、經過push函數,將一個數組添加到另外一個數組的尾部函數

// ES5的 寫法
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
Array.prototype.push.apply(arr1, arr2);
 
// ES6 的寫法
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
arr1.push(...arr2);

四、擴展運算符將字符串轉爲真正的數組學習

[...'leon']

// [ "l", "e", "o", "n"]

五、合併數組更加簡單.net

// ES5
[11, 2].concat([4,5])

// ES6
[11, 2, ...[4,5]]
 
 
 //多個的寫法
var arr1 = ['a', 'b'];
var arr2 = ['c'];
var arr3 = ['d', 'e'];
 
// ES5的合併數組
arr1.concat(arr2, arr3);
// [ 'a', 'b', 'c', 'd', 'e' ]
 
// ES6的合併數組
[...arr1, ...arr2, ...arr3]
// [ 'a', 'b', 'c', 'd', 'e' ]

個人github資源地址:es6 -- 默認參數Default,不定參數Rest,擴展運算符Spread詳解prototype

個人CSDN博客地址:https://blog.csdn.net/wxl1555rest

若是您對個人博客內容有疑惑或質疑的地方,請在下方評論區留言,或郵件給我,共同窗習進步。

郵箱:wuxiaolong802@163.com

相關文章
相關標籤/搜索