es6let,const命令(一)

1、var和let的区别:

块作用域:如果一段代码使用大括号包起来的,大括号里面就是一个块作用域,声明了let变量,块作用域外生命周期结束,提示引用错误。

所以let声明的变量只在块作用域里有效。报引用错误而不是undefind是因为es6是使用严格模式的,es6不写这句话默认使用严格模式。

const也有块作用域的概念,不过要注意的是声明的时候必须复值:const i=1;const生命的常量不能被修改,对象是应用类型,最后返回值是对象内存中的指针,k是指向声明对象的存储的指针,指针不变,对象是可以变的。


3、Symbol,声明数据类型提供独一无二的值,用symbol声明的变量值永远不相等,是唯一的

//false

let a3 = Symbol.for('a3');Symbol.for和Symbol也是生成独一无二的值,区别是Symbol.for时,For后面的括号内是一个key值,声明变量时会检查Key值是否在全局注册过,注册过返回那个值,没注册过,调生成的独一无二的那个值。



Symbol作用:

用Symbol做key值,通过for in和let of是拿不到属性的。


解决方法:object.getOwnPropertySymbols(obj).forEach(function(item){

console.log(obj[item]);

}//返回一个数组

Reflect是一个对象,包含symbol的变量作为key值得属性,也包含非symbol的变量作为key值得属性,返回值也是一个数组。


前端大牛可以加我qq:952109577,帮忙指点。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值