JavaScript 中的符号? [复制]

Posted

技术标签:

【中文标题】JavaScript 中的符号? [复制]【英文标题】:Symbols in JavaScript? [duplicate] 【发布时间】:2019-05-29 20:18:09 【问题描述】:

我在 Google 上搜索了很多关于新原始类型“符号”的信息,但仍然无法理解它的实际用法。我的理解是:

它们是原始类型,就像整数或字符串一样。 它们不是构造函数,因此您不能使用new Symbol() 语法。

但为什么要使用它? String/Integer/Boolean 的用途很明确,但是 Symbol() 到底有什么用呢?

此外,对于这段代码:

var data1 = Symbol();
var data2= Symbol('dummy');

为什么Symbol('dummy') === Symbol('dummy') 是假的?

【问题讨论】:

一切都在docstho中解释 移交值只是描述,不是标识符。这是返回的符号本身。 What is the motivation for bringing Symbols to ES6? 和 What are the possible usage scenarios for the new javascript “Symbol” datatype? 和 What is the “symbol” primitive data type in JavaScript 的可能重复 【参考方案1】:

这个代码Symbol('dummy') === Symbol('dummy')false,因为每个符号都是严格唯一的。

即使你使用相同的描述(虚拟),它们实际上是两个不同的唯一符号。

它们被用作标识符。

您可以阅读更多关于他们的信息here

【讨论】:

以上是关于JavaScript 中的符号? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

javascript ECMAScript 6中符号的用途是啥? [复制]

这些库如何在 Javascript 中处理幕后的刻度符号语法? [复制]

将 java 日期时间符号转换为 javascript 库日期时间符号

java中 去除String中的特殊符号保留字母和数字

JavaScript >> 代表啥? [复制]

JAVA 去掉变量中的特殊符号