我們可以在使用ES6的函數參數中有兩個或多個rest參數嗎?任何人都請解釋一下嗎?ES6中有多餘的參數可以作爲函數參數嗎?
function f(a, b, ...args1, c, ...arg2) {
//do somthing
}
這是可能與es6?
我們可以在使用ES6的函數參數中有兩個或多個rest參數嗎?任何人都請解釋一下嗎?ES6中有多餘的參數可以作爲函數參數嗎?
function f(a, b, ...args1, c, ...arg2) {
//do somthing
}
這是可能與es6?
號
如果一個函數的最後命名參數的前綴
...
,它成爲一個數組,其元素從0
(包括)到theArgs.length
(不包括)由傳遞給函數的實際參數提供。
(重點煤礦)
如果這是 「最後的」,這顯然可以只有一個。
你是說最後的補償可以休息(...)。或者我們可以讓中間的人休息(...)? – user2063756
@ user2063756只有最後一個可以休息。 –
不,因爲結果不明確。
例如,如果你叫
f(1,2,3,4,5);
則會有不同的合理的可能性:
a = 1;
b = 2;
args1 = [];
c = 3;
args2 = [4,5];
a = 1;
b = 2;
args1 = [3];
c = 4;
args2 = [5];
a = 1;
b = 2;
args1 = [3,4];
c = 5;
args2 = [];
a = 1;
b = 2;
args1 = [3,4,5];
c = undefined;
args2 = [];
沒有,真的沒有。想想看,很容易取第一個參數並將其分配給'a',第二個參數並將其分配給'b',但您分配給'args1'的數量是多少?請注意,_any_金額是有效的。 – vlaz
好吧。你能幫我指出args1的參數長度嗎? – user2063756
否;它是「休息」,如「休息」 – dandavis