javascript - 符号是如何工作的?

标签 javascript node.js ecmascript-6

Node.JS v0.11.3 声称支持带有 --harmony_symbols 标志的 ECMAScript 6 符号(参见 here )。最新稿says

Properties are identified using key values. A key value is either an ECMAScript String value or a Symbol value.

我试过下面的例子

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

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

最后一行出错了

TypeError: Conversion from symbol to string

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

最佳答案

你应该在没有 new 的情况下尝试:

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

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

关于javascript - 符号是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17536134/

相关文章:

javascript - 具有批量编辑网格的 Telerik MVC 网站可防止窗口关闭时未保存的更改

javascript - 使用 Plovr 编译模块

javascript - 在 AngularJS 中使用 "ng-options"填充选项

javascript - 编写 Promise 时的错误模式?

javascript - 如何检查 Map 或 Set 是否为空?

javascript - Assets 和 JavaScript 调试

node.js - 某些代码仅在 chrome 调试器处于事件状态时有效

node.js - Jasmine Node - 包括助手

javascript - Javascript getter/setter 的奇怪行为

reactjs - es6 React在子组件中获取 Prop