定义
表达式是一组代码的集合,它返回一个值。
一、每一个合法的表达式都能计算成某个值,但从概念上讲,有两种类型的表达式:有副作用的(如赋值)和单纯计算求值的。
类型
算术:得出一个数字,比如3.14159(通常使用arithmetic operators)
字符串:得出一个字符串,例如,“Fred”或“234”(通常使用string operators)
逻辑值:得出true或false(通常涉及到logical operators)
基本表达式:javascript中基本的关键字和一般表达式
左值表达式:分配给左值
基本表达式
this
见this:https://www.yuque.com/tqpuuk/yrrefz/gcb2wp
分组操作符
分组操作符()控制了表达式中计算的优先级。
var a = 1;
var b = 2;
var c = 3;
// 默认优先级
a + b * c // 7
// 默认是这样计算的
a + (b * c) // 7
// 现在使加法优先于乘法
(a + b) * c // 9
// 这等价于
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
super
一、super关键字可以用来调用一个对象父类的函数,它在用来调用一个类的父类的构造函数时非常有用。
【实例1】
super([arguments]) // calls the parent constructor. super.functionOnParent([arguments])