5

Node.JS v0.11.3 声称支持带有--harmony_symbols标志的 ECMAScript 6 符号(参见此处)。最新草案

属性使用键值标识。键值是 ECMAScript 字符串值或符号值。

我尝试了以下示例

var mySymbol = new Symbol('Test symbol');
console.log(mySymbol.name); // prints 'Test symbol', as expected

var a = {};
a[mySymbol] = 'Hello!';

但我在最后一行得到一个错误

TypeError:从符号到字符串的转换

符号是如何工作的?我的示例是错误的,还是 Node.JS 实际上支持符号?

4

1 回答 1

2

您应该尝试不使用new

var mySymbol = Symbol('Test symbol');
console.log(mySymbol.name); // prints 'Test symbol', as expected

var a = {};
a[mySymbol] = 'Hello!';
于 2013-07-08T21:56:15.620 回答