为什么“var”关键字不能与逗号运算符一起使用?

时间:2016-11-14 23:45:05

标签: javascript

以下spinet是有效的JS:

var foo;
if (foo = true, foo) {
}

但这不是:

if ((var foo = true), foo) {
}

为什么?

1 个答案:

答案 0 :(得分:5)

那是因为

foo = true

AssignmentExpression,是Expression,因此您可以将其包含在ParenthesizedExpression内:

ParenthesizedExpression[Yield]:
    (Expression[In, ?Yield])

但是

var foo = true

VariableStatement,是Statement,而不是表达式。