1 基本用法
let f = (x = 1, y = 2) => {
console.log('x:', x, 'y:', y);
}
f(); // x: 1 y: 2
f(100); // x: 100 y: 2
f(100, 200); // x: 100 y: 200
f(100, 200, 300); // x: 100 y: 200
2 使用解构赋值
let f = ({
x= 1, y = 2 }) => {
// 是等号不是冒号
console.log('x:', x, 'y:', y);
}
f(); // 报错
f({
}); // x: 1 y: 2
f({
x: 100 }); // x: 100 y: 2
f({
x: 100, y: 200 }); // x: 100 y: 200
f({
x: 100, y: 200, z: 300 }); // x: 100 y: 200
3 两者结合使用,双重默认
let f = ({
x= 1, y = 2 } = {
}) => {
console.log('x:', x, 'y:', y);
}
f(); // x: 1 y: 2
f({
}); // x: 1 y: 2
f({
x: 100 }); // x: 100 y: 2
f({
x: 100, y: 200 }); // x: 100 y: 200
f({
x: 100, y: 200, z: 300 }); // x: 100 y: 200