gpt4 book ai didi

google-chrome - Chrome 中的 ES6 符号

转载 作者:行者123 更新时间:2023-12-04 01:16:13 25 4
gpt4 key购买 nike

我正在 Google Chrome 中试验新的 ES6 Symbols,在 Chrome Flags 中启用“Experimental JavaScript”后,我可以在我的代码中使用 new Symbol()

但是,当我尝试运行以下代码时:

var sym = new Symbol();
var obj = {};
obj[sym] = 'Hello, symbols';

我收到以下错误:

类型错误:从符号到字符串的转换

我的代码有什么问题?

谢谢!

最佳答案

由于符号是值而不是对象,因此它们是通过对 Symbol 的普通函数调用创建的,而不是通过调用 new 来创建的。在您使用的 Chrome 版本中,new Symbol 为您提供了此类值的包装对象(即,您可以通过对结果调用 .valueOf 来获取实际符号).

由于这是一个常见的陷阱,ES6 草案规范最近更改为完全禁止 Symbol 的构造函数调用。也就是说,您已经在代码的第一行遇到异常。此更改已在 V8 中实现,但尚未在 Chrome 中实现。

关于google-chrome - Chrome 中的 ES6 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22468119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com