Javascript 为什么会有";var";关键字can';不能与逗号运算符一起使用吗?
以下spinet是有效的JS:Javascript 为什么会有";var";关键字can';不能与逗号运算符一起使用吗?,javascript,Javascript,以下spinet是有效的JS: var foo; if (foo = true, foo) { } 但这不是: if ((var foo = true), foo) { } 为什么?那是因为 foo = true 是,它是,因此可以将其包装在: 是一个,它是一个,不是一个表达式。那是因为 foo = true 是,它是,因此可以将其包装在: 是一个,它是一个,不是一个表达式。var在那里无效-它是Javascript语法的一部分,因为if条件需要是一个表达式,而不是一个语句。无法将var
var foo;
if (foo = true, foo) {
}
但这不是:
if ((var foo = true), foo) {
}
为什么?那是因为
foo = true
是,它是,因此可以将其包装在:
是一个,它是一个,不是一个表达式。那是因为
foo = true
是,它是,因此可以将其包装在:
是一个,它是一个,不是一个表达式。
var
在那里无效-它是Javascript语法的一部分,因为if
条件需要是一个表达式,而不是一个语句。无法将var
声明放入表达式上下文。与ES6无关。它只是普通的普通JS。用括号括住Javascript中的任何内容都会告诉JS引擎,所包含的语句应该作为表达式进行计算。变量声明在表达式中无效var
在表达式中无效-这是Javascript语法的一部分,因为if
条件需要是表达式,而不是语句。无法将var
声明放入表达式上下文。与ES6无关。它只是普通的普通JS。用括号括住Javascript中的任何内容都会告诉JS引擎,所包含的语句应该作为表达式进行计算。变量声明在表达式中无效
var foo = true