# 表达式和操作符

# 1. 基础表达式

下面的表达式是 JavaScript 语言里面最基础的关键字和一般表达式

  • this:是指向当前执行环境上下文的关键字
  • function:声明一个方法
  • function*:声明一个 generator 方法
  • class:声明一个 class
  • yield:暂停或者恢复一个 generator 方法
  • yield*:委派给另外一个generator函数或可迭代的对象
  • async function:定义一个异步函数表达式
  • await:暂停或恢复执行异步函数,等待一个 Promise 的 resolution 或者是 rejection
  • []:数组初始化/字面量语法
  • {}:对象初始化/字面量语法
  • ():分组语法
  • /ab+ci/:正则表达式的字面量语法

# 2. 左边表达式

左边的值是赋值的目标

  • 属性访问符:访问对象的属性和方法,比如Object.propertyObject['property']
  • new:实例化构造函数
  • new.target:在构造函数里面,new.target指向new调用的构造函数
  • supersuper可以调用父构造函数
  • ...obj:可以讲一个可迭代的对象延展成一个一个的成员参数

# 3. 自增/自减

  • a++:后置自增运算符
  • a--:后置自减运算符
  • ++a:前置自增运算符
  • --a:前置自减运算符

# 4. 一元运算符

一元运算符仅仅操作一个对象

  • delete:可以从对象中删除一个属性
  • void:表示表达式放弃返回值
  • typeof:返回给定对象的类型
  • +:一元加法操作符将给定对象转换为 Number 类型
  • -:一元加法操作符将给定对象转换为 Number 类型,并取反
  • ~:按位非运算符
  • !:逻辑非运算符

# 5. 算术运算符

  • +:加法运算符
  • -:减法运算符
  • *:乘法运算符
  • /:除法运算符
  • %:取模运算符
  • **:指数运算符

# 6. 关系运算符

通过一个比较运算符进行比较,根据比较结果返回一个布尔值

  • in:判断对象是否拥有给定属性
  • instanceof:判断一个对象是否为另一个对象的实例
  • >:大于
  • >=:大于等于
  • <:小于
  • <=:小于等于

# 7. 相等运算符

返回比较对象是否相等

  • ==:相等
  • !=:不等
  • ===:全等
  • !==:非全等

# 8. 位移运算符

  • <<:左移
  • >>:左移
  • >>>:无符号右移

# 9. 二进制运算符

  • |:或
  • &:与
  • ^:异或

# 10. 二元逻辑运算符

  • &&:逻辑与
  • ||:逻辑或

# 11. 三元运算符

# 12. 赋值运算符

赋值运算符将运算符右边的值赋值给左边

# 13. 逗号操作符

  • ,:结合多个操作,从左到右进行,返回最后一个操作的值
最后更新: 3/1/2021, 8:31:48 PM