Symbol的使用

 Symbol是ES6中引入的一种新的基本数据类型,用于表示一个独一无二的值。它是JavaScript中的第七种数据类型,与undefined、null、Number(数值)、String(字符串)、Boolean(布尔值)、Object(对象)并列。

你可以这样创建一个Symbol值:

const a = Symbol();

console.log(a);  //Symbol()


使用Symbol函数可以生成一个Symbol类型的值,但是你不能在调用Symbol时使用new关键字,因为Symbol是基本数据类型,而不是对象。比如下面的写法是错误的:

//报错,Symbol is not a constructor
const a = new Symbol();


使用Symbol()创建一个Symbol类型的值并赋值给a变量后,你就得到了一个在内存中独一无二的值。现在除了通过变量a,任何人在任何作用域内都无法重新创建出这个值。例如当你这样写:

const b = Symbol();

 

  <script>
        //创建Symbol
        let s1 = Symbol()
        console.log(s1,typeof s1);


        // 添加标识符Symbol

        let s2 = Symbol('质感')
        let s2_2 = Symbol('质感')

        console.log(s2 === s2_2);

        // 使用Symbol  for定义
        let s3 = Symbol.for('质感')
        let s3_2 = Symbol.for('质感')

        console.log(s3 === s3_2);   //true  Symbol  for()来实现

        const a  = Symbol('a')
        const b  = Symbol.for('b')
        const c  = Symbol.for('c')

        const obj = {
            [a]:1,
            [b]:2,
            [c]:3,
        }
        console.log(b === b);  //true

        console.log(obj);


        let d = Symbol.for("hello")
        console.log(Symbol.keyFor(c));      //如果想要获取Symbol中的描述文字,则可以使用Symbol.keyFor()
    </script>

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值