编程语言
首页 > 编程语言> > javascript-将嵌套对象分解为函数参数

javascript-将嵌套对象分解为函数参数

作者:互联网

在ES6中,我们可以执行以下操作:

let myFunc = ({name}) => {
  console.log(name)
}

myFunc({name:'fred'}) // => logs 'fred'

但是,如何针对这样的嵌套属性执行此操作:

myFunc({event:{target:{name:'fred'}}}) // => I want it to log 'fred'

myFunc应该是什么样,以便记录“ fred”?

我无法更改传入的对象.我希望使用解构来实现此方法或其他一些合适的ES6方法.

解决方法:

您可以简单地这样做:

const myFunc = ({event: {target: {name}}}) => {
  console.log(name)
}

myFunc({event: {target: {name: 'fred'}}})
.as-console-wrapper { max-height: 100% !important; top: 0; }

这是另一个实现,其中两个都有参数,但是第二个完全是可选的:

const myFunc = (
      {name: name},
      {event: {target: {name: eventTargetName = ''} = ''} = ''} = ''
    ) => {
      console.log(name, eventTargetName)
    }

myFunc({name:'fred'})
myFunc({name:'papi'}, {event: {target: {name: 'fredo'}}})
.as-console-wrapper { max-height: 100% !important; top: 0; }

标签:destructuring,ecmascript-6,javascript
来源: https://codeday.me/bug/20191025/1932487.html