JS中的二元操作符及三元操作符

JavaScript09

JS中的二元操作符及三元操作符,第1张

二元操作符又叫二元逻辑运算符,是典型的基于boolean(逻辑)值的运算,他们返回的是boolean值。

二元运算符主要包括:

注:&&优先级高于 ||

二元布尔操作符是可进行短路操作的,只有再必要的时候才会计算到最后一项.

三元操作符又叫条件运算符,它将两个结果中其中一个符合运算逻辑的值返回。

三元运算符一般用于替代if条件判断语句。

操作符始终写在前一行,以免分号的隐式插入产生预想不到的问题,正确的书写方式如下所示:

https://www.w3cschool.cn/webdevelopment/jpbfrozt.html

其实在逻辑运算里面,非操作符是会把一个值变成布尔值true或者false的,其它类似||或者&&则是返回操作值中的一个,并没有转为布尔值。这个特性跟C/C++是很大不一样的。这个是JS语言本身的特性,理解它就好了。

至于

(a || b),只要a的逻辑意义是false,返回的都是b,只要a的逻辑意义是true,则返回a

比如:

var a = {}

var b = 1

var c = (a || b)// c引用的是a对象(不是true这个布尔值),因为a对象的逻辑意义是true

又如:

var a = null

var b = 1

var c = (a || b)// c的值是1,因为a为null的逻辑意义是false

如果想强行但到一个值变成布尔值,可以用两次非操作,即:

var c = !!a//

let array = [12,5,1,9,16,3,21,55,102,34]

function test(array){

array = array.sort((i1, i2) =>i1-i2)

const length = array.length

const resultArr = []

for(let i=0i<length/2i++){

let min = array[i]

let max = array[length-i-1]

resultArr.push([max, min])

}

return resultArr

}

console.log(test(array))