以下spinet是有效的JS:
var foo;
if (foo = true, foo) {
}
Run Code Online (Sandbox Code Playgroud)
但这个不是:
if ((var foo = true), foo) {
}
Run Code Online (Sandbox Code Playgroud)
为什么?
那是因为
foo = true
Run Code Online (Sandbox Code Playgroud)
是一个AssignmentExpression,它是一个Expression,所以你可以将它包装在ParenthesizedExpression中:
Run Code Online (Sandbox Code Playgroud)ParenthesizedExpression[Yield]: (Expression[In, ?Yield])
但
var foo = true
Run Code Online (Sandbox Code Playgroud)
是一个VariableStatement,它是一个Statement,而不是一个Expression.
归档时间: |
|
查看次数: |
50 次 |
最近记录: |