ECMAScript新特性 6-12

ES6

let

1.变量不可重复声明(var可以)
  let a= '1'
  let a= '2'
2.块级作用域 全局,函数,eval
3.不存在变量提升
  console.log(count) //ReferenceError: Cannot access uninitialized variable.
  let count = 1
4.不影响作用域链

const 

1. 一定要赋初始值
  const a ; // => const a = 0;
2. 一般常量使用大写(潜规则,小写也可)
3. 常量的值不可修改
4. 也是块级作用域
5. 对于数组和对象的元素修改,不算做对常量的修改,不会报错
  const LOL = ['UZI','Ming','Letme']
  LOL.push('LXT') //  ['UZI', 'Ming', 'Letme', 'LXT']

const 指针指向的地址不可以改变,指向地址的内容是可以改变的。因为const只是保证对象的指针不改变,而对象的内容改变不会影响到指针的改变,所以对象的属性内容是可以修改的。

1、修改对象的属性值是允许的

2、修改常量的值会报错...

const 为什么复杂类型可以更改

const 实质上保证的:

        不是变量值不得改动、而是变量指向的那个内存地址所保存的数据不得改动,对于简单数据类型 值就保存在变量指向的内存地址,对于复合类型 也叫引用类型(多用于 对象和 数组)变量指向的内存地址,保存的只是一个实际数据的指针、const 保证只是这个指针是固定的。

它指向的数据结构 是不是可变的 就不受控制了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值