欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

JS 运算符(一元和二元运算符)

最编程 2024-03-31 18:03:21
...

运算符概念:一个运算符对应的只有一个运算元,那么它是 一元运算符。二元运算符同理

举个例子:

let x = 1,y = 2
alert(-x) // '-' 在这里面就是一元运算符
alert(x - y) // '-' 在这里面二元运算符

再举个例子:

let Love = 'I' + 'You' // 相当于使用二元运算符 '+' 连接字符串 
alert(Love)  // IYou

只有 ‘+’ 才能被用作字符串类型的连接,其它的都会强制转换成数字类型:

let str = 2 + '1' // '+' 在这里也是二元运算符
alert(str) // 21
// 但是只有 '+' 才能被用作字符串类型的连接,其它的都会强制转换成数字类型
let num1 = 6 - '2'  // num1 = 4
let num2 = '6' / 2  // num2 = 3
let num3 = '6' / '2'  // num3 = 3

运算符的数字转化:

console.log(+true) // 1
console.log(+'') // 0

再将一元运算符和二元运算符整合到一起试试:

let num1 = 1 + '1' // 11
let num2 = 1 + +'1' // 2  // 第一个 '+' 是二元运算符,第二个'+'是一元运算符,用于数字转化
let num3 = 1 - -'1'  // 1-(-1) = 2
let str1 = '1' + -'1' // 即 '1' + -1 = '1-1' 这里 '+' 是作为二元运算符,用于字符串连接

附上摘抄于Mozilla的优先级表部分运算符的优先级表:

优先级 名称 符号
17 一元加号 +
17 一元负号 -
16 求幂 **
15 乘号 *
15 除号 /
13 加号 +
13 减号 -
3 赋值符号 =

可以看到,“一元加号运算符”的优先级是 17,高于“二元加号运算符”的优先级 13。这也是为什么表达式 “1 + +‘1’” 中的一元加号先生效,然后才是二元加法。