javascript-解构赋值

解构赋值(解开解构,进行赋值)

解构赋值是对赋值运算符的扩展。

他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。

在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。

 

在解构中,有下面两部分参与:

  • 解构的源,解构赋值表达式的右边部分。
  • 解构的目标,解构赋值表达式的左边部分。

 

数组的解构赋值:按照书写顺序,--对应解构

let arr=['hello','world','祝你幸福',13,16];

let a=arr[0];  //hello

let b=arr[1]   //world

let c=arr[2]   //祝你幸福

let d=arr[3]    //13

let e=arr[4]    //16

console.log(a,b,c,d,e)

结果:

let [c,b,a,e,d]=arr ;

console.log(a,b,c,d,e)

结果

这样可以看出,使用 let 赋值的c 对应 arr数组里的hello,使用let赋值的b对应arr数组里的world。

对象的解构赋值:按照对象的键名解构

let obj={

name:'Admin',

age:18,

sex:'男',

like:'basketball',

show:()=>{

console.log(this.name)     //这里的this是window,不能通过this找到obj的name了

 

}

}

//let  name=obj.name

let{show,age,like,color}=obj;

console.log(show)

console.log(age)

console.log(like)

console.log(color)

}

打印结果

字符也可以算对象,同时还具有索引和长度,符合数组的规则

字符的结构赋值:等同于数组的结构赋值

 let str = "hello";
        let [q,w,e,r,t,y,u,i] = str;
        console.log(q)
        console.log(w)
        console.log(e)
        console.log(r)
        console.log(t)
        console.log(y)
        console.log(u)
        console.log(i)

结果:

之前:两个变量的值得交换,找个空变量,做个过度

现在:利用解构赋值

var a=10;

var b=20;

var  [a,b]=[b,a];

console.log(a,b)

结果

 

函数的参数的快速解析

function fn([q,z]){

   console.log(q)

   console.log(z)

}

let arr=['hello','world']

fn(arr)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值