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 中处理幕后的刻度符号语法? [复制]