MST

星途 面试题库

面试题:TypeScript中symbol类型的基础使用

请解释TypeScript中symbol类型是什么,它有哪些基本特性?并举例说明如何创建一个symbol,以及如何使用symbol作为对象的属性。
13.0万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

Symbol类型介绍

Symbol 是ES6(ES2015)引入的一种基本数据类型,表示独一无二的值。它主要用于创建对象的唯一属性键,以避免属性名冲突。

基本特性

  1. 唯一性:每个 Symbol 值都是唯一的,即使使用相同的描述符创建,它们也不相等。
  2. 不可变:一旦创建,Symbol 值不能被修改。
  3. 隐藏性Symbol 作为对象属性时,不会被 for...inObject.keys() 等常规方式遍历出来,增强了对象属性的隐私性。

创建Symbol示例

// 使用Symbol函数创建一个symbol
let sym1 = Symbol(); 
// 使用带有描述符的Symbol函数创建一个symbol
let sym2 = Symbol('description'); 

使用Symbol作为对象属性示例

let mySymbol = Symbol('key');
let myObject = {
    [mySymbol]: 'value'
};
// 获取Symbol属性的值
console.log(myObject[mySymbol]);