ES6学习总结(三)

ES6学习总结(三)

本节主要是以下内容,其中重点是 proxy和Reflect 这一点

  1. Symbol对象
  2. Set和Map
  3. Iterator 和 for…of
  4. proxy和Reflect
  • 1.Symbol对象
    在很多时候,我们在定义对象的属性时很容易遇到重名的情况,或者使用第三方的插件时,容易遇到重名的情况。ES6引入了第七种数据类型Symbol,作为一个具有 独一无二 的值存在。
    所以现在定义一个对象,它的属性名可以是字符串,也可以是Symbol。

talk is cheap , show me the code!

 	 const sym = Symbol()
 	 const bar = Symbol('bar')
 	 const mySym1 =  Symbol('mySym')
 	 const mySym2 =  Symbol('mySym')

上面的四行代码均会声明一个独一无二的Symbol对象,Symbol()括号里传入的参数,是对这个对象的描述,当你在控制台打印这些对象时,不至于全都返回Symbol,当然你也可以不写。建议和变量名一致就好。下面是这四个Symbol的控制台打印情况

sym
--Symbol()

bar
--Symbol(bar)

mySym1
--Symbol(mySym)

mySym2
--Symbol(mySym)

mySym1 === mySym2
--false

在作为属性名的时候,Symbol对象的属性名要用方括号赋值,而不用点运算符。

let obj = {
   }
 obj[mySym1] = 'hello'   //正确
obj.mySym2 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值