首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >符号作为Firefox中Javascript对象的关键标识符

符号作为Firefox中Javascript对象的关键标识符
EN

Stack Overflow用户
提问于 2020-04-05 13:09:41
回答 2查看 45关注 0票数 0

环境

Ubuntu 18.04.4 LTS

Firefox 74.0

铬80.0

问题

我的问题是,将来在使用重复标签时,完全支持将符号作为Firefox中Javascript对象的关键标识符。在Chrome的情况下,它可以添加两个具有相同标签的符号键。

代码语言:javascript
复制
Symbol(id): 1284225
Symbol(id): 55586

另一个讨论是这是好的还是坏的。

示例

我只是运行了一小部分代码。

代码语言:javascript
复制
// main.js

const idSym = Symbol('id')
const idSym2 = Symbol('id')

const user = {
  id: 978,
  name: 'Dominique',
  city: 'Siena',
  age: 59
}

user[idSym] = 1284225
user[idSym2] = 55586

console.log(user)

Firefox的控制台输出:

代码语言:javascript
复制
{id: 978, name: "Dominique", city: "Siena", age: 59}
main.js:89
age:59
city:"Siena"
id:978
name:"Dominique"
Symbol(id):1284225
__proto__:{}

Chrome控制台输出:

代码语言:javascript
复制
id: 978, name: "Dominique", city: "Siena", age: 59, Symbol(id): 1284225, …}
id: 978
name: "Dominique"
city: "Siena"
age: 59
Symbol(id): 1284225
Symbol(id): 55586
__proto__: Object
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-05 13:31:26

我刚找到了这种行为的答案。完全出乎意料。只有当我在Visual代码中使用调试功能时,才会发生这种情况。我正在使用VScode (https://github.com/firefox-devtools/vscode-firefox-debug)中的官方火狐扩展,但由于某种原因,它在这种特殊情况下失败了。我会说是个虫子。

当我在Firefox中直接运行时,我得到了与Chrome相同的输出。

票数 0
EN

Stack Overflow用户

发布于 2020-04-05 13:11:57

Symbol()的string参数只是对象的描述性标签;它除了帮助调试之外,没有其他用途。如果您想用相同的标签创建所有的符号实例,那很好。他们仍然被保证是不同的对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61043113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档