1. 程式人生 > >16、ES6 數值和布林值的解構賦值

16、ES6 數值和布林值的解構賦值

數值和布林值的解構賦值

解構賦值時,如果等號右邊是數值和布林值,則會先轉為物件。

let {toString:s}=123;

s === Number.prototype.toString;

let {toString:s}=true;
s===Boolean.prototype.toString;

上面程式碼中,數值和布林值的包裝物件都有‘‹‰ toString屬性,因此變數• s 都能取到值。

解構賦值的規則是,只要等號右邊的值不是物件,就先將其轉為物件。由於†‡ˆ‹‡† undefined 和ŽŽ  null 無法轉為物件,所以對它們進行解構賦值,都會報錯。Ž

      let {prop:x}=undefined;  //報錯
      let {prop:y}=null;   //報錯