javascript高级程序设计阅读收获(3.4.7)——Symbol类型

1.Symbol类型是什么,有什么用

Symbol可以定义为一个符号,一种标识符,用来区分某些东西。

2.创建一个符号

  1. 通过Symbol来创建,Symbol不是一个构造方法,所以不能够使用new操作符。
let sym = Symbol();
let sym = Symbol("aaa");//"aaa"是这个符号的description(描述)
  1. 两个description相同的符号,并不是同一个符号。两个没有description的符号,也不是同一个符号。
let sym1 = Symbol("aaa");
let sym2 = Symbol("aaa");
console.log(sym1 == sym2);//控制台输出结果为false
let sym3 = Symbol();
let sym4 = Symbol();
console.log(sym3 == sym4);//控制台输出结果为false
  1. Symbol不能通过new构造函数来创建,所以不能够创建符号包装对象,如果确实想用符号包装对象,可以借用Object函数。
let sym = Symbol();
let symbolObject = Object(sym);
console.log(typeof symbolObject);//输出结果为object
  1. 通过全局符号注册表来创建符号。
    Symbol.for()的参数只能是一个字符串,它会检查全局注册表,如果没有找到,就会生成一个新符号添加到注册表中。后续再使用这种方式用相同的字符串创建符号的话,这个字符串在全局注册表中被找到,就会发现存在与该字符串对应的符号,然后就会返回该符号实例。
let symbol1 = Symbol.for
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子 旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值