解構(gòu)賦值

解構(gòu)賦值

什么是解構(gòu)賦值?

es6允許按照一定的模式,從數(shù)組或?qū)ο笾刑崛≈?,給變量進(jìn)行賦值,稱為解構(gòu)賦值。

特點:

1>給變量賦值

2>值的來源是對象或數(shù)組

3>規(guī)則:按一定的模式

一般用在數(shù)據(jù)交互,ajax請求數(shù)據(jù)。

  • 數(shù)組解構(gòu)
    //1.這種比較散
    let a = 10;
    let b = 12;
    let c = 13;
    
    console.log(a,b,c); //10,12,13
    
    //2.定義到數(shù)組內(nèi)
    let arr = [1,2,3];
    
    console.log(arr[0],arr[1],arr[2]) //1,2,3
    
    //3.解構(gòu)賦值
    
    let [a,b,c] = [1,2,3]
    
    console.log(a,b,c) //1,2,3
    
    //4.解構(gòu)賦值必須兩邊格式一致
    let [a,b,c] = [1,[2,3]];
    
    console.log(a,b,c) //1,[2,3],undefined
    
    let [a,[b,c]] = [1,[2,3]];
    
    console.log(a,b,c) //1,2,3
    
    //5.交互數(shù)據(jù)
    
    let a = 10;
    let b = 20;
    
    [a,b] = [b,a];
    console.log(a,b); //20,10
    
    //給默認(rèn)值

    let [a,b,c='暫無數(shù)據(jù)'] = ['aa','bb'];
    
    console.log(a,b,c); //aa,bb,暫無數(shù)據(jù)
    
  • json解構(gòu)
var json = {
    'name':'lixd',
    'age':'20',
    'job':'teacher'
}

let {name,age,job} = json;

console.log(name,age,job); //lixd,20,teacher

//起別名:

let {name,age.job:b} = job;

console.log(name,age,job) //lixd,20,undefined

console.log(name,age,b)   //lixd,20,teacher

//給默認(rèn)值

let {name:n,age:a,job:b='teacher'} = {'name':'lixd','age':'20'};

console.log(n,a,b)//lixd,20,teacher

  • 函數(shù)解構(gòu)的應(yīng)用
//1.函數(shù)返回數(shù)據(jù),在外側(cè)解構(gòu)
function getPos(){
    //......
    
    return {
        x:10,
        y:20
    }
}

let {x,y} = getPos(); //10,20

//2.函數(shù)傳參

function sum({x,y=20}){
    console.log(x,y); //1,20    
}

sum({x:1})


  • 導(dǎo)入模塊解構(gòu)
import {a,b,c} from './model';
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.數(shù)組的解構(gòu)賦值 2.對象的解構(gòu)賦值 3.字符串的解構(gòu)賦值 4.數(shù)值和布爾值的解構(gòu)賦值 5.函數(shù)參數(shù)的解構(gòu)賦值 ...
    卞卞村長L閱讀 952評論 0 0
  • 基本用法 ES6 允許按照一定模式,從數(shù)組和對象中提取值,對變量進(jìn)行賦值,這被稱為解構(gòu)(Destructuring...
    嘉奇呦_nice閱讀 831評論 0 2
  • 前面的話 我們經(jīng)常定義許多對象和數(shù)組,然后有組織地從中提取相關(guān)的信息片段。在ES6中添加了可以簡化這種任務(wù)的新特性...
    sunnyghx閱讀 825評論 0 0
  • 前面的話 ??我們經(jīng)常定義許多對象和數(shù)組,然后有組織地從中提取相關(guān)的信息片段。在ES6中添加了可以簡化這種任務(wù)的新...
    CodeMT閱讀 540評論 0 0
  • 引入 在ES5中,開發(fā)者們?yōu)榱藦膶ο蠛蛿?shù)組中獲取特定數(shù)據(jù)并賦值給變量,編寫了許多看起來同質(zhì)化的代碼 這段代碼從op...
    nengzhuan_zhang閱讀 646評論 0 0

友情鏈接更多精彩內(nèi)容