符号如何工作?

Node.JS v0.11.3宣称支持带有–harmony_symbols标志的ECMAScript 6符号(见这里 )。 最新的草稿说

属性使用键值标识。 键值是ECMAScriptstring值或符号值。

我已经尝试了下面的例子

 var mySymbol = new Symbol('Test symbol'); console.log(mySymbol.name); // prints 'Test symbol', as expected var a = {}; a[mySymbol] = 'Hello!'; 

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

TypeError:从符号转换为string

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

你应该尝试没有new

 var mySymbol = Symbol('Test symbol'); console.log(mySymbol.name); // prints 'Test symbol', as expected var a = {}; a[mySymbol] = 'Hello!';