在使用默认参数时,arguments 对象的值不反映参数的默认值,只反映传给函数的参数。当然,
跟 ES5 严格模式一样,修改命名参数也不会影响 arguments 对象,它始终以调用函数时传入的值为准:
function makeKing(name = 'Henry') {
name = 'Louis';
return `King ${arguments[0]}`;
}
console.log(makeKing()); // 'King undefined
console.log(makeKing('Louis')); // 'King Louis'