今天看代码时学到一个新的数据类型。Symbol。
文件加载成功
export const FILE_LOAD_Success = Symbol('FILE_LOAD_Success')
Symbol 是 JavaScript 中的一个内置原始数据类型,它用于创建唯一的、不可变的、原始的值,通常用作对象属性的键。Symbol 提供了一种机制,使得开发者可以定义不会与其他属性键冲突的属性键。
以下是 Symbol 的一些关键特性:
- 唯一性:每个通过
Symbol()函数创建的Symbol值都是唯一的,即使是使用相同的描述符创建的Symbol也是不同的。 - 不可变性:
Symbol值一旦创建,就不能被更改。它们是不可变的。 - 作为属性键:
Symbol通常用作对象的属性键,特别是当你想要添加一个不会与其他属性冲突的私有属性时。 - 内置方法:JavaScript 提供了一些内置方法来与
Symbol一起使用,例如Object.getOwnPropertySymbols()可以获取对象的所有Symbol属性键,而Reflect.ownKeys()可以获取对象的所有键,包括Symbol属性键。 - 全局
Symbol库:JavaScript 还提供了一个全局的Symbol库,允许开发者定义全局可用的Symbol,例如Symbol.iterator,它用于实现可迭代协议。
symbol和const的区别
const:
const是一种声明变量的方式,用于定义一个只读的常量。一旦使用const声明了一个变量,就不能重新赋值给这个变量,但变量内的对象可以被修改(如果变量是一个对象的话)。const声明的变量必须在使用前初始化,不能留空。const常用于定义不会改变的值,例如配置常量、数学常数等。
symbol:
Symbol是 JavaScript 中的一种原始数据类型,用于创建一个唯一的、不可变的、原始的值,通常用作对象属性的键。Symbol可以确保属性键的唯一性,避免属性名冲突。Symbol值是不可变的,并且每个Symbol都是唯一的。