簡體   English   中英

ES6中的多級對象分解

[英]Multilevel object Destructuring in ES6

如果我有以下對象,

 const obj = { user: { type:{ type1:"developer", type2:"architect" }, role:"admin" }, salary:50000 } const {user: {type}} = obj; console.log(`type: ${type}`); console.log(user); 

如果我寫如下內容,

const {user: {type}} = obj;
console.log(type);  //prints [object Object] which is right

但是如果我嘗試打印

console.log(user); // ReferenceError: user is not defined 

有人可以向我解釋一下ES6解構的以下內容嗎?

const {user: {type}} = obj;

當前,您正在做的是獲取user子對象,並從中提取type 如果您像將其當作函數來考慮那樣會更容易-分解屬性時,原始對象不會保存在任何地方,並且不再可以訪問。 此處相同- user不再可訪問。

如果要訪問它,您可以做的是從user提取type ,然后提取user並保留它。

 const obj = { user: { type: { type1: "developer", type2: "architect" }, role: "admin" }, salary: 50000 } const { user: { type }, user } = obj; console.log(`type: ${type}`); console.log(user); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM