Node.JS v0.11.3声称支持带有--harmony_symbols
标志的ECMAScript 6符号(参见here)。最新草案says
使用键值标识属性。键值是ECMAScript字符串值或符号值。
我尝试过以下示例
var mySymbol = new Symbol('Test symbol');
console.log(mySymbol.name); // prints 'Test symbol', as expected
var a = {};
a[mySymbol] = 'Hello!';
但我在最后一行收到错误
TypeError:从符号转换为字符串
符号如何工作?我的示例是错误的,或者Node.JS实际上不支持符号?
答案 0 :(得分:2)
您应该在没有new
的情况下尝试:
var mySymbol = Symbol('Test symbol');
console.log(mySymbol.name); // prints 'Test symbol', as expected
var a = {};
a[mySymbol] = 'Hello!';