es6引入rest 引數,用於獲取函式的實參,用來代替arguments
es5 獲取實參的方式
function
date()
date
('小明','小紅','小張');
//結果為乙個物件
es6中rest引數
function
date(.
..args)
date
('小明','小紅','小張');
//結果為乙個陣列,此時即可以使用陣列api的方法,例如filter,some,every,map
rest 引數必須要放到引數最後
function
fn(a,b,
...args)fn(
1,2,
3,4,
5,6)
;
「…」 擴充套件運算子能將「陣列」轉換為逗號分隔的「引數序列」//宣告乙個陣列
const student =
['小明','小紅','小張'];
//宣告乙個函式
function
school()
school()
;//輸出乙個陣列:['小明','小紅','小張']
school
(...student)
;//輸出引數序列
應用
//1.陣列的合併
const kuaizi =
['王太利'
,'肖央'];
const fenghuang =
['曾毅'
,'玲花'];
// const zuixuanxiaopingguo = kuaizi.concat (fenghuang); //es5的寫法
const zuixuanxiaopingguo =
[...kuaizi,
... fenghuang]
;//es6新寫法
console.
log(zuixuanxiaopingguo)
;//2.陣列的轉殖
const sanzhihua =
['e'
,'g'
,'m'];
const sanyecao =
[... sanzhihua]
;// [e','g','m']
console.
log(sanyecao)
;//3.將偽陣列轉為真正的陣列
const divs = document.
queryselectorall
('div');
const divarr =
[...divs]
;console.
log(divarr)
;
ES6 rest引數和擴充套件運算子
function rest values return sum add 1,2,3 6 function rest a,b,c 報錯 函式的length屬性不包括rest引數。function a length 0 例 console.log 1,2,3,4 5 1 2 3 4 5 es5寫法 ma...
rest 引數與擴充套件運算子
rest 引數與擴充套件運算子 1.rest 引數 es6 引入 rest 引數 形式為.變數名 用於獲取函式的多餘引數,這樣就不需要使用arguments物件了。rest 引數搭配的變數是乙個陣列,該變數將多餘的引數放入陣列中。function add values return sum add ...
ES6 解構運算子 rest運算子, 運算子
解構的作用是可以快速取得陣列或物件當中的元素或屬性,而無需使用arr x 或者obj key 等傳統方式進行賦值 陣列解構賦值 var arr this is a string 2,3 傳統方式 var a arr 0 b arr 1 c arr 2 解構賦值,是不是簡潔很多?var a,b,c a...