Ran*_*lue 5 javascript node.js ecmascript-6
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!';
Run Code Online (Sandbox Code Playgroud)
但是我在最后一行收到错误
TypeError:从符号到字符串的转换
符号如何工作?我的示例是错误的,还是Node.JS实际上不支持符号?
你应该尝试不使用new:
var mySymbol = Symbol('Test symbol');
console.log(mySymbol.name); // prints 'Test symbol', as expected
var a = {};
a[mySymbol] = 'Hello!';
Run Code Online (Sandbox Code Playgroud)