如何正确使用JavaScript中的Symbol类型?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2950个文字,预计阅读时间需要12分钟。
Symbol 类型规范,对象的属性键只能是字符串类型或 Symbol 类型。目前,我们只见过字符串类型。现在,我们来了解一下。
Symbol 类型
根据规范,对象的属性键只能是字符串类型或者 Symbol 类型。不是 Number,也不是 Boolean,只有字符串或 Symbol 这两种类型。
到目前为止,我们只见过字符串。现在我们来看看 Symbol 能给我们带来什么好处。
Symbol
"Symbol" 值表示唯一的标识符。
可以使用 Symbol() 来创建这种类型的值:
// id 是 symbol 的一个实例化对象 let id = Symbol();
创建时,我们可以给 Symbol 一个描述(也称为 Symbol 名),这在代码调试时非常有用:
// id 是描述为 "id" 的 Symbol let id = Symbol("id");
Symbol 保证是唯一的。即使我们创建了许多具有相同描述的 Symbol,它们的值也是不同。描述只是一个标签,不影响任何东西。
例如,这里有两个描述相同的 Symbol —— 它们不相等:
let id1 = Symbol("id"); let id2 = Symbol("id"); alert(id1 == id2); // false
如果你熟悉 Ruby 或者其他有 "Symbol" 的语言 —— 别被误导。
本文共计2950个文字,预计阅读时间需要12分钟。
Symbol 类型规范,对象的属性键只能是字符串类型或 Symbol 类型。目前,我们只见过字符串类型。现在,我们来了解一下。
Symbol 类型
根据规范,对象的属性键只能是字符串类型或者 Symbol 类型。不是 Number,也不是 Boolean,只有字符串或 Symbol 这两种类型。
到目前为止,我们只见过字符串。现在我们来看看 Symbol 能给我们带来什么好处。
Symbol
"Symbol" 值表示唯一的标识符。
可以使用 Symbol() 来创建这种类型的值:
// id 是 symbol 的一个实例化对象 let id = Symbol();
创建时,我们可以给 Symbol 一个描述(也称为 Symbol 名),这在代码调试时非常有用:
// id 是描述为 "id" 的 Symbol let id = Symbol("id");
Symbol 保证是唯一的。即使我们创建了许多具有相同描述的 Symbol,它们的值也是不同。描述只是一个标签,不影响任何东西。
例如,这里有两个描述相同的 Symbol —— 它们不相等:
let id1 = Symbol("id"); let id2 = Symbol("id"); alert(id1 == id2); // false
如果你熟悉 Ruby 或者其他有 "Symbol" 的语言 —— 别被误导。

