《TypeScript实战指南》—2.1.6 symbol

举报
华章计算机 发表于 2019/06/16 11:26:36 2019/06/16
【摘要】 本节书摘来自华章计算机《TypeScript实战指南》一书中的第2章,第2.1.6节,作者是胡桓铭。

2.1.6 symbol

自ES 6起,symbol成为一种新的原生类型,就像基本类型number和string一样。

TypeScript 中使用 symbol 类型如出一辙,也是通过Symbol构造函数创建的,如下所示:

const symbol1 = Symbol();

 

const symbol2 = Symbol("hello");

const symbol3 = Symbol("hello");

 

symbol2 === symbol3; // false

通过同样的方式生成两个 symbol,也是不同的,因为 symbol 是唯一的。所以 symbol2 和 symbol3 无论如何都不会相等。

像字符串一样,symbol也可以用于对象属性的键:

const symbol = Symbol();

 

const obj = {

    [symbol ]: "value"

};

 

console.log(obj[symbol]); // "value"

在实际开发中,常量使用symbol值最大的好处就是,其他任何值都不可能有相同的值了,因此可以保证诸如特定字面量或者特定的switch语句值可以按设计的方式工作。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。