最近看阮一峰的es6發現了個地方有點不懂,理解之後,特意記錄下來。
就是上面這塊。
首先是外面這個括號,我們知道如果提前定義了乙個變數,下面再來解構賦值就得加上括號而不是下面這樣
let a;
let b;
let [a, b] = [1, 2];
// uncaught syntaxerror: identifier 'a' has already been declared 報錯了
然後是裡面的東西,我們讀前面的內容之後
const node =
}};let , loc: } } = node;
line // 1
loc // object
start // object
我們發現,給物件解構賦值的時候, 』 : 』 冒號表示這個物件是個模式,而不是變數,只有 』 = '等號或者不加等號才表示變數賦值,比如
let a;
let b;
( = )
// ( = )
所以
( = );
ES6 物件的解構賦值
es6的解構賦值,在我看來是提供了乙個整體賦值的方案。包括陣列和物件的整體賦值。基本原則如下 let x,y 1,2 x 1 y 2 let foo aaa bar bbb 但是物件的解構賦值,允許給賦值的變數重新命名。物件的重新命名解構 我自己去的名字,便於理解 其實在給物件進行解構賦值的時候,有...
ES6 物件的解構賦值
物件的解構賦值 解構不僅可以用於陣列,還可以用於物件。let console.log foo aaa console.log bar bbb這裡的foo,bar一定要對應。物件的解構與陣列有乙個重要的不同。陣列的元素是按次序排列的,變數的取值由它的位置決定 而物件的屬性沒有次序,變數必須與屬性同名,...
ES6 物件的解構賦值
解構不僅可以用於陣列,還可以用於物件。let foo aaa bar bbb 物件的解構與陣列有乙個重要的不同。陣列的元素是按次序排列的,變數的取值由它的位置決定 而物件的屬性沒有次序,變數必須與屬性同名,才能取到正確的值。let foo aaa bar bbb let baz undefined ...