Javascript运算符优先级技术性

我很难理解在 Javascript优先级的第14组中,Exponentiation和其他所有内容(乘法,除法等)的组合意味着什么.

Source – MDN

三个问题:

>在一个组中组合从右到左和从左到右的关联性是什么意思?
>如何根据这些规则对表达式2 ** 3 * 4进行重新定义,仍然得到相同的答案? 4 * 2 ** 3作品……是什么意思?
>何时/如何不等于看似更简单的赋予取幂优先权的权宜之计?

解决方法

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解释语言的方式.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...