hai*_*rbo 7 javascript ecmascript-6
如果我有这个ES6函数声明和调用:
function myFunction (arg1, arg2 = "bob") {
console.log("arguments", arguments);
}
myFunction(1);
Run Code Online (Sandbox Code Playgroud)
...该console.log()语句只显示一个值为"1"的参数."鲍勃"无处可见.这是预期和/或期望的行为吗?我希望arguments对象中可以使用默认值.如果没有,有没有办法以其他方式动态获取所有参数+默认值?
提前致谢!
是的,这是预期和期望的.该arguments对象是传递给函数的值的列表,没有别的.
它并不是隐含地链接到参数变量(被赋予默认值),就像在草率模式下一样.
有没有办法以其他方式动态获取所有参数+默认值?
不.您拥有哪些参数以及它们是否具有默认初始化程序是静态的,您无需动态执行任何操作.你可以Object.assign([], arguments, [arg1, arg2])为你的示例功能做.
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |