ES6 5.17

let 与 const

let声明的变量只在代码块内有效,只能声明一次,常用在for循环中,不存在变量提升
const声明常量,首次创建必须初始化

暂时性死区,在块内存在let或者const,代码块会对这些变量从开始就形成一个封闭的作用域,在声明前使用就会报错,不管外面有没有var声明与否
const保证的是地址不变,声明引用时要小心

解构赋值

1、数组解构

let [a, b, c] = [1, 2, 3];
//a = 1; b = 2; c = 3;

2、可以嵌套

let [a, [[b], c]] = [1, [[2], 3]];
// a = 1
// b = 2
// c = 3

3、可忽略

let [a, , b] = [1, 2, 3];
// a = 1
// b = 3

4、不完全解构

let[ a = 1 , b] = [] ; // a = 1 . b = undefined

5、剩余运算符

let [a, ...b] = [1, 2, 3];
//a = 1
//b = [2, 3]

6、字符串等
在数组的解构中,解构的目标若为可遍历对象,皆可进行解构赋值。可遍历对象即实现 Iterator 接口的数据。

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

7、当解构模式有匹配结果,且匹配结果是 undefined 时,会触发默认值作为返回结果。

let [a = 2] = [undefined]; // a = 2
let [a = 3, b = a] = [];     // a = 3, b = 3
let [a = 3, b = a] = [1];    // a = 1, b = 1
let [a = 3, b = a] = [1, 2]; // a = 1, b = 2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值