逗号运算符的描述为
要在需要单个表达式的位置包含多个表达式时,可以使用逗号运算符
而且语法和参数还说它的操作数应该是表达式。
expr1,expr2,expr3 ...
expr1
,expr2
,expr3
...
任何表达式。
我想知道为什么以下代码在声明为let x = 3
时不会抛出错误
let x = 3,
y = 5
console.log(x,y)
如果将声明放在console.log()
中,则会引发错误,这表示它不是表达式。
console.log(let x = 3,y=3)
答案 0 :(得分:3)
仅在表达式之间而不是语句之间将其解析为逗号运算符。 let x = 3
不是表达式;它不会评估为任何值。尝试将其解析为表达式不起作用:
const result = let x = 3;
console.log(result);
语法let <variableName> = <expression>, <variableName2> = <expression2>
不会调用逗号运算符-该语法在let
,const
和var
中使用时,只需一次初始化多个变量,然后所说的语法只是 happens 使用逗号,尽管事实上它们没有被解释为逗号运算符。
相反,
let x = 3,
y = 5
console.log(x,y)
您也不在此处调用逗号运算符:您有一个参数列表。要调用逗号运算符,您还不需要立即位于参数列表中,例如:
let x = 3,
y = 5
console.log((x,y))
或
let x = 3,
y = 5
const someVar = (x,y);
console.log(someVar);
答案 1 :(得分:0)
JavaScript中的逗号运算符将评估其每个操作数。它返回最后一个操作数的值。使用逗号运算符添加多个表达式。
以下是语法:
expression1,expression2, ……expression
是的,您可以使用逗号运算符在for循环中添加多个参数:
for (var a = 0, b =5; a <= 5; a++, b--)
您还可以在return语句中使用逗号运算符。使用逗号返回之前的处理:
function myFunc() {
var a = 0;
return (a += 1,a);
}
上面您可以看到遗嘱流程的价值,然后它将被返回 以下是其他详细信息: https://danhough.com/blog/single-var-pattern-rant/