关于javascript中es6新增的symbol类型的简单认识

symbol(符号)是原始值,且符号的实例是唯一,不可变的。

它的创建方式有些特别,他是原始类型,创建时不需要new,而是用Symbol函数初始化

      var s1=Symbol()
      var s2=Symbol()
      console.log(s1==s2)//false 由于符号类型的值是唯一的 所以是false
      
      var s3=Symbol("peo")
      var s4=Symbol("peo")
      console.log(s3==s4)//false Symbol函数的参数只是类似于注释描述符号类型,并没有实际的用处

全局注册符号:如果想在不同的地方使用同一个符号可以使用Symbol.for()方法来创建符号,这时候符号描述就有用了

      var s5=Symbol.for("peo")
      var s6=Symbol.for("peo")
      console.log(s5==s6)//true 使用相同描述的符号类型
      console.log(s5==s4)//false 使用相同描述的符号类型但是s4创建没有用Symbol.for()
      console.log(s5==s2)//false 使用不同符号类型

使用符号作为属性:

      var p1=Symbol(),p2=Symbol(),p3=Symbol()
      var people={
        p1:"chinese",
        p2:"German",
        p3:"koreans"
      }
      for (const key in people) {
          console.log(people[key])// chinese German koreans p1、p2、p3各自表示唯一的属性值
      }
      //如果当符号的值作为对象的属性的时候 比如[p1]:"chinese" 这样该属性不能被遍历出来
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值