变量的解构赋值(ES6)

本文详细介绍了ES6的解构赋值特性,包括对象、数组、字符串、数值与布尔值的解构,并展示了如何在函数参数中使用解构。此外,还探讨了解构赋值在不同情况下的行为,如默认值和未定义值的处理。通过实例,帮助开发者更好地理解和运用ES6的这一强大功能。
摘要由CSDN通过智能技术生成

ES6介绍

          ES6, 全称 ECMAScript 6.0 ,是 JavaScript 语⾔的下⼀代标准,在 2015 年 6 ⽉正式发布。它的⽬标,是使得 JavaScript 语⾔可以⽤来编写复杂的⼤型应⽤程序,成为企业级开发语⾔。

  • ES6 的出现主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念

  • 目前存在少数低版本浏览器的 JavaScript 是 ES5 版本,大多数的浏览器已经支持 ES6

  • ES6提供了大量的语法糖。

 对象的解构

         对象的解构 通过{}解构

 let {a,b,c}={a:1.b:2}
   console.log(a) //1,
   console.log(b) //2,
   console.log(c) //undefind  解构不成功

        当给默认值时,只有当这个值为 === 的undefind的值时,给的默认值才有效  

 let {a,b,c=111,d=3,e=333}={a:1,b:2,c:222,e:undefined}
   console.log(c) //222  c不为undefind,给的值不起效
   console.log(d)//3,因为d在右边对象为undefind,所以有效
   console.log(e) //333

数组的解构

      数组的解构,通过中括号[]解构,用法与对象解构一样。

      如果解构不成功,会获取到一个undefined值

      给默认值时,只有当这个值为 === 的undefined值时,给的默认值才有效

        let [a,b,c,d,e = 4] = [1,2,3]

        a //1

        b //2

        c //3  

        d //undefined

        e //4  默认值

 字符串的解构赋值 

        字符串也可以解构赋值。这是因为此时,字符串被转换成了一个类似数组的对象。

const [a, b, c, d, e] = 'hello';
a // "h"
b // "e"
c // "l"
d // "l"
e // "o"

        类似数组的对象都有一个length属性,因此还可以对这个属性解构赋值。

let {length : len} = 'hello';
len // 5

数值与布尔值的解构赋值 

        解构赋值时,如果等号右边是数值和布尔值,则会先转为对象。

// 数值和布尔值基本包装类与字符串不一样
let { a} = true;
console.log(a);//undefined
// 数值和布尔值的包装对象都有toString属性,因此变量s都能取到值。
let {toString: b} = true;
b === Number.prototype.toString // true
console.log(b);//[Function: toString]
let {toString: s} = 123;
s === Number.prototype.toString // true
console.log(s);//[Function: toString]

        解构赋值的规则是,只要等号右边的值不是对象或数组,就先将其转为对象。 

函数的解构 

// 函数的解构
let obj={
  name:'we',
  age:12
}
function t({name,gender,gg=24}){
  console.log(name,gender,gg)
}
t(obj)//we undifind  24

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值