Skip to content

运算符 ​

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