定义

表达式是一组代码的集合,它返回一个值。
一、每一个合法的表达式都能计算成某个值,但从概念上讲,有两种类型的表达式:有副作用的(如赋值)和单纯计算求值的。

类型

算术:得出一个数字,比如3.14159(通常使用arithmetic operators)
字符串:得出一个字符串,例如,“Fred”或“234”(通常使用string operators)
逻辑值:得出true或false(通常涉及到logical operators)
基本表达式:javascript中基本的关键字和一般表达式
左值表达式:分配给左值

基本表达式

this

见this:https://www.yuque.com/tqpuuk/yrrefz/gcb2wp

分组操作符

分组操作符()控制了表达式中计算的优先级。

  1. var a = 1;
  2. var b = 2;
  3. var c = 3;
  4. // 默认优先级
  5. a + b * c // 7
  6. // 默认是这样计算的
  7. a + (b * c) // 7
  8. // 现在使加法优先于乘法
  9. (a + b) * c // 9
  10. // 这等价于
  11. a * c + b * c // 9

数值推导

一、Comprehensions是一个带有实验性质的JavaScript特性,计划将在未来的ECMAScript版本中加入该特性。
二、有两种类型的comprehensions
1、[for (x of y) x]
数列数值推导(非标准用法)
2、(for (x of y) y)
生成器数值推导(生成器数值推导标准化可能不大,天津使用生成器函数)
二、【实例1】快速地通过一个已有的数组来创建出一个新的数组

[for (i of [1, 2, 3]) i*i]
// [1, 4, 9] // 20210112:浏览器报错,VM64:1 Uncaught SyntaxError: Unexpected token 'for'

var abc = ['A', 'B', 'C']
[for (letters of abc) letters.toLowerCase()];
// ['a', 'b', 'c']

左值表达式

一、左边的值是赋值的目标

new

【见】new运算符

super

一、super关键字可以用来调用一个对象父类的函数,它在用来调用一个类的父类的构造函数时非常有用。
【实例1】

super([arguments]) // calls the parent constructor. super.functionOnParent([arguments])

扩展语句

扩展语句/展开语法/展开运算符/…obj