Symbol类型的作用

在TypeScript(和JavaScript)中,Symbol 是一个内置对象,它提供了一个唯一的且不可改变的数据类型,用于作为对象的键(key)。这种类型主要用于避免命名冲突,特别是在使用像 for...in 或对象字面量扩展等可能导致属性名冲突的情况下。

在你给出的代码片段中:

typescript



const sym1:symbol = Symbol();

这里做了几件事:

  1. 使用 Symbol() 创建了一个新的、唯一的 symbol 值。
  2. 声明了一个常量 sym1,并使用 symbol 类型注解来指定其类型。
  3. 将新创建的 symbol 值赋给 sym1

由于 Symbol() 每次被调用时都会返回一个新的、唯一的 symbol 值,所以 sym1 会持有一个与其他任何 symbol 值都不同的值。

这个 symbol 值可以用作对象的属性键,例如:


  

typescript


  
const obj = {};  


obj[sym1] = 'Hello, Symbol!'; 

 
  
console.log(obj[sym1]); // 输出: Hello, Symbol!

注意,你不能使用点表示法(如 obj.sym1)来访问这个属性,因为 sym1 是一个 symbol,而不是一个字符串字面量。你必须使用方括号表示法(如 obj[sym1])来访问它。

相关推荐

  1. Symbol类型作用

    2024-05-15 15:58:15       4 阅读
  2. symbol 类型学习

    2024-05-15 15:58:15       7 阅读
  3. ES6中新增基本数据类型----symbol

    2024-05-15 15:58:15       20 阅读
  4. js中Symbol强制类型转换

    2024-05-15 15:58:15       5 阅读
  5. ES6之原始数据类型Symbol

    2024-05-15 15:58:15       25 阅读
  6. ES6新增 Symbol

    2024-05-15 15:58:15       33 阅读
  7. 第三章 语言基础-数据类型-Symbol补充

    2024-05-15 15:58:15       26 阅读
  8. 分布式搜索引擎Elasticsearch中各种类型节点作用

    2024-05-15 15:58:15       11 阅读
  9. 详解ES6中symbol

    2024-05-15 15:58:15       26 阅读

最近更新

  1. .Net Core WebAPI参数的传递方式

    2024-05-15 15:58:15       0 阅读
  2. QT--气泡框的实现

    2024-05-15 15:58:15       1 阅读
  3. LeetCode 968.监控二叉树 (hard)

    2024-05-15 15:58:15       0 阅读
  4. leetcode热题100.完全平方数(动态规划进阶)

    2024-05-15 15:58:15       0 阅读
  5. leetcode328-Odd Even Linked List

    2024-05-15 15:58:15       0 阅读
  6. C 语言设计模式(结构型)

    2024-05-15 15:58:15       0 阅读
  7. v-if 与 v-show(vue3条件渲染)

    2024-05-15 15:58:15       0 阅读
  8. kafka防止消息丢失配置

    2024-05-15 15:58:15       0 阅读

热门阅读

  1. [前端] vue2的/deep/转化为vue3语法(笔记)

    2024-05-15 15:58:15       4 阅读
  2. vue3 动态加载页面

    2024-05-15 15:58:15       3 阅读
  3. error和exception的区别?

    2024-05-15 15:58:15       3 阅读
  4. ISBN查询图书api接口

    2024-05-15 15:58:15       4 阅读
  5. 解决方案:sql里的join跟left join有什么区别

    2024-05-15 15:58:15       4 阅读
  6. 探索Git:版本控制的革命(一文了解Git)

    2024-05-15 15:58:15       5 阅读
  7. 小米消金引领创新,打造重庆消费金融新生态

    2024-05-15 15:58:15       4 阅读
  8. 算法学习笔记(LCA)

    2024-05-15 15:58:15       3 阅读
  9. SQL中的LAG函数与LEAD函数用法

    2024-05-15 15:58:15       3 阅读
  10. Spring中事务的失效场景

    2024-05-15 15:58:15       6 阅读
  11. Windows下打包项目成Linux版本

    2024-05-15 15:58:15       3 阅读