首頁 > web前端 > js教程 > 主體

ES6的解構賦值詳解

php中世界最好的语言
發布: 2018-05-19 15:40:48
原創
1772 人瀏覽過

這次帶給大家ES6的解構賦值詳解,使用ES6的解構賦值注意事項有哪些,下面就是實戰案例,一起來看一下。

 @1數組的解構賦值;

let [a,b,c]=[1,2,3];
console.log(a,b,c)            //1 2 3
----------------------------------------------------------------
let [a=true]=[];
console.log(a)                //a=true;
----------------------------------------------------------------
let[a=true]=[undefined];
let[b=true]=[null]
console.log(a,b)             //a=true,b=null
登入後複製

其實理解undefined與null的區別很簡單:雖然undefined==null;

#但是還是可區分的參考犀牛書說 null 是一個空物件指標

typeof null  ==>object;而undefined可以认为在下面两种情况会出现;
登入後複製

1.存取陣列不存在的項目;

2.未定義的變數var 方式;

所以:以下兩種等價;

let[a=true]=[undefined];
let[a=true]=[ ];
登入後複製

就不難理解為什麼了;

@2物件的解構賦值;

與陣列不同,物件的解構賦值是根據鍵而非根據索引;

let {foo,bar}={bar:"liuhf",foo:true};    //跟键的顺序没有关系;
登入後複製

  @3字串的解構賦值;

const [a,b,c,d,e,f]="liuhee";
console.log(a,b,c,d,e,f);        // l i u h e e
登入後複製

  不管哪一種解構賦值,必須左右對應;

       <下面是物件/陣列的函數解構賦值:再次驗證了...拓展運算子取的是"值"而已>

let json = {
        a: &#39;对&#39;,
        b: &#39;象&#39;
    }
    //对象的函数解构;
function fun({ a, b = &#39;jspang&#39; }) {
    console.log(a, b);
}
fun(json);
//数组的函数解构;
let arr = ["liu", "hai"]
function fun1([a, b]) {
    console.log(a, b);
}
fun1(arr);
console.log("------------");
//或者;
function fun2(a, b) {
    console.log(a, b);
}
fun2(...arr);
登入後複製

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

相關閱讀:

webpack3.x的entry,output,module解析

Vue2 tab切換選項卡的方法

基礎的JavaScript知識總結(十一)對象,包裝類別

以上是ES6的解構賦值詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!