二元操作符又叫二元逻辑运算符,是典型的基于boolean(逻辑)值的运算,他们返回的是boolean值。
二元运算符主要包括:
注:&&优先级高于 ||
二元布尔操作符是可进行短路操作的,只有再必要的时候才会计算到最后一项.
三元操作符又叫条件运算符,它将两个结果中其中一个符合运算逻辑的值返回。
三元运算符一般用于替代if条件判断语句。
操作符始终写在前一行,以免分号的隐式插入产生预想不到的问题,正确的书写方式如下所示:
https://www.w3cschool.cn/webdevelopment/jpbfrozt.html
基于segmentfault上的一道题
由此可以知道new 的优先级带参数的比不带的高
在第三种解析中我们要计算 new (foo.prototype.getName)() 的值,首先要明白new到底做了什么,其实就做了3件事
第一步:创建一个空对象
第二步:绑定该对象的原型
第三部:调用构造函数 // 执行了构造函数的内容
所以在 new (foo.prototype.getName)() 也就会返回foo.prototype.getName的一个实例,并且执行一次构造函数,也就是执行 console.log(3) ,打印3这个结果