它現在可以解構像這樣功能參數:傳遞對象或定位參數的函數
function add({a, b}) { return a + b; }
可以稱之爲是這樣的:
add({a: 5, b: 9});
是否也可以結合這具有位置參數,因此也可以在不命名參數的情況下調用它。例如:
add(5, 9);
它現在可以解構像這樣功能參數:傳遞對象或定位參數的函數
function add({a, b}) { return a + b; }
可以稱之爲是這樣的:
add({a: 5, b: 9});
是否也可以結合這具有位置參數,因此也可以在不命名參數的情況下調用它。例如:
add(5, 9);
您可以使用rest parameter,並根據它的長度進行解構。
function add(...args) {
let a, b;
args.length === 1 ? ({ a, b } = args[0]) : [a, b] = args;
return a + b;
};
console.log(add({a: 5, b: 9}));
console.log(add(5, 9));
這隻適用於需要多個參數的函數嗎? – kamoroso94
您可以根據參數的長度改變解構方法來適應您的需求。但是,正如@estus在已刪除的答案中所述 - 「多功能簽名具有誤導性,並且需要在提供的參數上進行過多的談判才能解決問題」。 –
貴和,或大利德羅裏的答案解析問題?函數期望單個對象參數還是多個參數的模式的目的是什麼? – guest271314