【发布时间】:2018-08-11 00:25:27
【问题描述】:
使用 ES6,您可以在函数参数中解构对象:
({name, value}) => { console.log(name, value) }
等效的 ES5 将是:
function(params) { console.log(params.name, params.value) }
但是,如果我想同时引用params 对象和嵌套属性value 和name,该怎么办?这是我得到的最接近的,但缺点是它不适用于箭头函数,因为它们无法访问 arguments 对象:
function({name, value}) {
const params = arguments[0]
console.log(params, name, value)
}
【问题讨论】:
-
function(params){const {name,value}=params;console.log(params,name,value)}? -
@ProfessorAllman 是的,非常接近。还有一个赋值行,所以我想我的问题是:是否可以在函数签名中做到这一点,比如
function({name,value}=params) -
不,它只会使核心难以阅读并且特别是当您开始使用箭头函数时会感到困惑。没有真正的好处。
-
@DayanMorenoLeon 我同意,只是好奇
标签: javascript ecmascript-6 destructuring object-destructuring