为什么我不能将Symbol定义为构造函数?

时间:2017-08-26 08:19:03

标签: javascript constructor paperjs

这是我的Javascript(paperjs)代码的片段:

var symbol = new Symbol(path);

它会发出警告 - “不要将Symbol用作构造函数”

我能在这里做些什么来摆脱那个警告吗?

1 个答案:

答案 0 :(得分:3)

来自 Documentation

  

使用new运算符的以下语法将引发TypeError:

     

var sym = new Symbol(); // TypeError

     

这可以阻止作者   创建显式的Symbol包装器对象而不是新的符号   值和创建显式包装器对象可能会令人惊讶   原始数据类型通常是可能的(例如,新的   布尔值,新字符串和新数字)。

只需使用Symbol作为功能



var symbol = Symbol(4);

console.log(typeof symbol); // outputs 'symbol'