JavaScript中的语句,表达式,赋值

时间:2020-10-24 06:38:02

标签: javascript terminology

我知道变量声明是一个语句(而不是表达式,因为它无法求值)

let a

我知道分配也是语句和表达式,因为可以在JS中对其求值)

a= 2

我还理解,当我在同一行中声明并赋值时,由于无法对其进行评估,因此它被视为语句而非表达式:

let a = 5

我的问题是:

如果这两行(声明+赋值)在同一行中发生,为什么将其视为声明?

这里需要一个表达式作为参数:

console.log(let a=3)
> Uncaught SyntaxError: missing ) after argument list

但是赋值是一个表达式,因为它确实可以作为参数传递:

console.log(a=3)
3

0 个答案:

没有答案
相关问题