Tyb*_*itz 6 javascript destructuring ecmascript-6 object-destructuring
使用ES6,您可以在函数参数中构造对象:
({name, value}) => { console.log(name, value) }
Run Code Online (Sandbox Code Playgroud)
等效的ES5将是:
function(params) { console.log(params.name, params.value) }
Run Code Online (Sandbox Code Playgroud)
但是,如果我想什么了一个既参考params
对象和嵌套的属性value
和name
?这是我得到的最接近的,但缺点是它不能用于箭头函数,因为它们无法访问该arguments
对象:
function({name, value}) {
const params = arguments[0]
console.log(params, name, value)
}
Run Code Online (Sandbox Code Playgroud)
arguments
在箭头函数中不可用,这会影响 ES6 中函数参数的处理方式。
如果使用原始参数,则应在函数内部对其进行解构:
(param) => {
const {name, value} = param;
// ...
}
Run Code Online (Sandbox Code Playgroud)
如果需要多个参数并且发生了一些参数协商(例如,类似于arguments.length
),则应使用 rest 参数:
(...args) => {
const [param] = args;
// ...
}
Run Code Online (Sandbox Code Playgroud)
样板变量解构有它的好处;即使它们当前未使用,通过这种方式调试param
或args
在断点处也更容易。
归档时间: |
|
查看次数: |
1062 次 |
最近记录: |