Javascript ES6解构嵌套对象父和子赋值变量
我先在父对象中解构嵌套的第一个变量对象,然后声明另一个变量以设置子值,但出现了一些错误,我不知道哪种方法可以解决这个问题,而且可读性很好Javascript ES6解构嵌套对象父和子赋值变量,javascript,object,ecmascript-6,assign,destructuring,Javascript,Object,Ecmascript 6,Assign,Destructuring,我先在父对象中解构嵌套的第一个变量对象,然后声明另一个变量以设置子值,但出现了一些错误,我不知道哪种方法可以解决这个问题,而且可读性很好 let personObj = { Name: 'Robiul', Age: 22, Address: { city: 'Dhaka', country: 'Bangladesh' } } let {Address: myAddre
let personObj = {
Name: 'Robiul',
Age: 22,
Address: {
city: 'Dhaka',
country: 'Bangladesh'
}
}
let {Address: myAddress} = personObj
let {myAddress:{city: myCity, country: myCountry}}=myAddress
在第一行中,您已经将
Address
分解为myAddress
。
因此,在对其进行结构分解时,您不需要再进行一层嵌套
让personObj={
名称:“Robiul”,
年龄:22,,
地址:{
城市:“达卡”,
国家:“孟加拉国”
}
}
//解构地址并将其重命名为myAddress
设{Address:myAddress}=personObj;
//解构MyAddress并重命名城市和国家
设{city:myCity,country:myCountry}=myAddress;
console.log('city',myCity',country',myCountry)代码>在第一行中,您已经将地址
分解为我的地址
。
因此,在对其进行结构分解时,您不需要再进行一层嵌套
让personObj={
名称:“Robiul”,
年龄:22,,
地址:{
城市:“达卡”,
国家:“孟加拉国”
}
}
//解构地址并将其重命名为myAddress
设{Address:myAddress}=personObj;
//解构MyAddress并重命名城市和国家
设{city:myCity,country:myCountry}=myAddress;
console.log('city',myCity',country',myCountry)代码>我想你在找
const {Address: myAddress} = personObj;
const {city: myCity, country: myCountry} = myAddress;
console.log(myAddress, myCity, myCountry);
或
或
我想你在找我
const {Address: myAddress} = personObj;
const {city: myCity, country: myCountry} = myAddress;
console.log(myAddress, myCity, myCountry);
或
或
让{Address:myAddress,{city:myCity,country:myCountry}}}=personObj这样在IEN中分配给它是可能的,一旦你解构一个对象,地址(在本例中),你将不再有它的引用。因此,如果您想同时拥有myAddress
的句柄,则必须再次选择它们let{Address:myAddress,Address:{city:myCity,country:myCountry}}=personObj
let{Address:myAddress,{city:myCity,country:myCountry}}}=personObj以这种方式在IEN中分配是不是有可能的,一旦你分解一个对象,Address
(在这种情况下),你就不再有它的引用了。因此,如果您想同时拥有myAddress
的句柄,则必须再次选择它们let{Address:myAddress,Address:{city:myCity,country:myCountry}}=personObj
。
const {Address: myAddress, Address:{city: myCity, country: myCountry}} = personObj;
console.log(myAddress, myCity, myCountry);