解构JS中的不同类型

时间:2017-10-30 16:12:26

标签: javascript ecmascript-6 destructuring

对象C:\Users\gdhameeja\Desktop\chatapp\chat>pip freeze asgi-redis==1.4.3 asgiref==1.1.2 attrs==17.2.0 autobahn==17.9.3 Automat==0.6.0 channels==1.1.8 constantly==15.1.0 daphne==1.3.0 django==1.11.6 hyperlink==17.3.1 incremental==17.5.0 msgpack-python==0.4.8 pytz==2017.2 redis==2.10.6 six==1.11.0 Twisted==17.9.0 txaio==2.8.2 virtualenv==15.1.0 websocket-client==0.44.0 zope.interface==4.4.3

x

是否可以构建const x = { a: 'foo', b: () => { return 'bar' ) } 以便在一个步骤中将xa同时作为字符串?

b

在更广泛的范围内,我对如何干净地解构单个对象中包含的不同类型感到困惑

在现实世界中,{a, <something with b?>} = x console.log(a, b) // 'foo bar' 是一个调用,a是一个嵌套对象

b

1 个答案:

答案 0 :(得分:3)

AFAIK,如果可以选择property getter,则只能使用此选项:

const x = {
 a: 'foo',
 get b() { return 'bar' }
}

const {a, b} = x
console.log(a, b) // 'foo bar'