我怎样才能有一个函数接受或者命名参数(foo({a: 'hello', b: 'it is me'})
)或位置参数(foo('hello', 'it is me')
)?
我知道可以通过将对象传递给函数来模拟命名参数:
function foo(options) { options = options || {}; var a = options.a || 'peanut'; // whatever default value var b = options.b || 'butter'; // whatever default value console.log(a, b); } // ES6 allows automatic destructuring function foo({a = 'peanut', b = 'butter'} = {}) { console.log(a, b); }
但这不允许我接受通过的位置论证.
我想使用ES6,但ES5的任何东西都可以.