我很难理解在Javascript优先级的第14组中,Exponentiation与其他所有内容(乘法,除法等)的组合意味着什么。
三个问题:
答案 0 :(得分:2)
1)2 ** 3 ** 4
,从右到左关联,是2 ** (3 ** 4)
。从左到右关联的2 / 3 / 4
是(2 / 3) / 4
。
2/3)我相信2 ** 3 * 4
是(2 ** 3) * 4
。 2 * 3 ** 4
为2 * (3 ** 4)
(由es6fiddle评估)。
这不是从表中得出的;但取幂应优先于乘法。在一个优先级别中从左到右和从右到左混合是很奇怪的。事实上,就我在ES7 drafts中所看到的而言,它在语法上与*
,/
和%
的处理方式完全不同,而是作为一元操作(!)。
另请注意,除了Babel和Traceur之外,目前没有任何引擎支持**
,所以此时它主要是学术性的。 MDN是一个wiki,并且由Mozillian添加了取幂运算符;但是AFAIK,因为Mozilla目前不支持**
,它实际上并没有记录Mozilla解释语言的方式。