數值和布林值的解構賦值
解構賦值時,如果等號右邊是數值和布林值,則會先轉化為物件。
let = 123;
s === number.prototype.tmp // true
let = true;
s === boolean.prototype.tmp // true
上面**中,數值和布林值的包裝物件都要tmp屬性,因此s都能取到值undefined
解構賦值的規則是,只要等號右邊的不是物件或陣列,就先將其轉化為物件,由於undefined和null無法轉換為物件,所以對它們進行解構賦值,都會報錯。
let = undefined;// typeerror
let = null;// typeerror
ES6 變數的結構賦值
基本概念 陣列的結構賦值 物件的結構賦值 基本型別的結構賦值 示例一 陣列的結構賦值let a,b,c 1,2,3 console.log a,b,c 輸出 1 2 3let a b c 1 2 3 console.log 1 2,3 let a console.log a 輸出undefined示...
es6變數定義和賦值
ecmascript 第六個版本 在es6之前,都是用 var宣告,但是它會變數提公升成為全域性變數。functiona else 其實是這樣的 functiona else undefined 無論bool的值是true 或 false,b 都會被建立宣告。改寫成let function a el...
es6變數解構賦值
es6允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構。解構賦值在實際開發中可以大量減少我們的 量,並且讓我們的程式結構更清晰。陣列的解構賦值 let a,b 1 2 console.log a 1 console.log b 2 上面的 表示,可以從陣列中提取值,按照位置的物件...