运算符
HS 中包含各类语言常见的运算符(从上到下优先级递增):
赋值(=、:=、+=、-=、*=、/=、%=、^=)
例子:
js
let a = 5
// a == 10
a *= 2
// a == 8
a -= 2
// a == 7
// b == 7
const b = a := 7条件(? :)
例子:
js
// a == 1
const a = true ? 1 : 0逻辑或(||)
例子:
js
// a == true
const a = true || false逻辑与(&&)
例子:
js
// a == false
const a = true && false按位或(|)
例子:
js
(5 & 1) == 5按位异或(^)
例子:
js
(8 ^ 2) == 10按位与(&)
例子:
js
(5 & 7) == 5相等比较(==、!=)
例子:
js
// a == false
const a = 1 == 5比较(<、<=、>、>=、instanceof)
例子:
js
2 <= 3 == true左移(<<)
例子:
js
2 << 2 == 8算术右移(>>)
例子:
js
8 >> 2 == 2加减(+、-)
例子:
js
1.1 + 2.2 == 3.3乘除模(*、/、%)
例子:
js
// a == 6
const a = 3 * 2幂(**)
例子:
js
// a == 8
const a = 2 ** 3单模运算(typeof, -,!)
例子:
js
// a = false
const a = !true函数调用(())
例子:
js
const func = () => 5
// a == 5
const a = func()成员访问(.、[])
例子:
js
const a = {
b: 5,
c: "Hello",
}
// d == 6
const d = a.b + 1
// e == "Hello"
const e = a["c"]按位取反(~)
例子:
js
~4 == -5