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       15 阅读
  2. symbol 类型学习

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

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

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

    2024-05-15 15:58:15       37 阅读
  6. Symbol

    2024-05-15 15:58:15       5 阅读
  7. ES6新增 Symbol

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

    2024-05-15 15:58:15       36 阅读
  9. MySQL索引类型,以及各自作用

    2024-05-15 15:58:15       14 阅读
  10. 脑电信号中相位类型作用

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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-15 15:58:15       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-15 15:58:15       5 阅读
  3. 在Django里面运行非项目文件

    2024-05-15 15:58:15       4 阅读
  4. Python语言-面向对象

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

热门阅读

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

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

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

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

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

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

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

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

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

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

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

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