JavaScript 6:测试符号?

JavaScript 6:测试符号?,javascript,ecmascript-6,Javascript,Ecmascript 6,关于EcmaScript 6和符号:我们现在有没有办法测试它们的使用?某些夜间版本的浏览器已经支持它们,但不幸的是,它们的支持仅限于@toString和@iterator…在ES6功能在引擎中可用之前使用它们的最通用解决方案是 它可用于在线测试: 作为一个transpiler,您可以编写ES6代码并作为ES5部署: 但是: Symbol.toPrimitive在Babel:logsNaN而不是42中处理不正确 let thing = { [Symbol.toPrimitive]() {

关于EcmaScript 6和符号:我们现在有没有办法测试它们的使用?某些夜间版本的浏览器已经支持它们,但不幸的是,它们的支持仅限于@toString和@iterator…

在ES6功能在引擎中可用之前使用它们的最通用解决方案是

它可用于在线测试:

作为一个transpiler,您可以编写ES6代码并作为ES5部署:

但是:

Symbol.toPrimitive
在Babel:logs
NaN
而不是
42
中处理不正确

let thing = {
    [Symbol.toPrimitive]() {
        return 42;
    }
};
console.log(+thing)

有一个名为的库,包含ECMAScript 5、ECMAScript 6的多填充:符号、集合、迭代器、承诺、ECMAScript 7提案;setImmediate和数组泛型

你到底想测试什么?目的/用例是什么?您始终可以执行
typeof Symbol!='未定义的“&&Symbol.symbolatoTest
我想测试它们的使用。例如,每当需要隐式地将对象转换为基元类型时,都应该使用Symbol.toPrimitive。因此,我创建了一个示例,在对象上定义它。不幸的是,我还没有找到一个可以测试我的实现的地方……哦,我明白了。您正在使用符号,您只想测试代码。我不认为有一个普遍的答案。您只能真正测试该环境支持的符号,即使这样,实现也可能有错误或不完整。谢谢Felix。我就是这么想的。使用transpilers等人在这里帮不了我…为什么投票结果很接近?这个问题对我来说似乎很清楚。谢谢你提供的信息。在测试我的代码之前,我似乎还得再等一会儿。。。