【发布时间】:2016-01-21 22:35:10
【问题描述】:
我在 CodeWars 上解决了一个 kata,并在查看其他一些解决方案时遇到了双星号来表示力量。我做了一些研究,可以看到这是 python 中的有效运算符,但在 JavaScript 文档中看不到任何内容。
var findNb = m =>
{
var n = Math.floor((4*m)**.25);
var sum = x => (x*(x+1)/2)**2;
return sum(n) == m ? n : -1;
}
然而,当我在 CodeWars 上运行此解决方案时,它似乎可以工作。我想知道这是否是 ES6 中的新功能,尽管我没有发现任何关于它的信息。
【问题讨论】:
-
**是粗体的降价指示符。可能是作者在写markdown答案时语法错误。 -
来自spec:MultiplicativeOperator : * / % 之一
-
@Grundy 他也在使用粗箭头,所以有可能
-
fat arrow (=>) 在 ES6 规范中。 exponential operator (**) 在 ES7 规范中。我对代码战一无所知,但如果您使用 Traceur 或 Babel,这可能是有效的 JavaScript
-
所以,我只是看了一下 codewars,他们的所有代码都通过 BabelJS 运行,这就解释了为什么这段代码可以与 ES6 和 ES7 运算符一起使用。
标签: javascript math operators