语句之间如何使用逗号运算符?

时间:2019-04-22 01:50:46

标签: javascript

逗号运算符的描述为

  

要在需要单个表达式的位置包含多个表达式时,可以使用逗号运算符

而且语法和参数还说它的操作数应该是表达式。

语法

  

expr1,expr2,expr3 ...

参数

  

expr1expr2expr3 ...

  任何表达式。

我想知道为什么以下代码在声明为let x = 3时不会抛出错误

let x = 3,
    y = 5
console.log(x,y)

如果将声明放在console.log()中,则会引发错误,这表示它不是表达式。

console.log(let x = 3,y=3)

2 个答案:

答案 0 :(得分:3)

仅在表达式之间而不是语句之间将其解析为逗号运算符。 let x = 3不是表达式;它不会评估为任何值。尝试将其解析为表达式不起作用:

const result = let x = 3;
console.log(result);

语法let <variableName> = <expression>, <variableName2> = <expression2>不会调用逗号运算符-该语法在letconstvar中使用时,只需一次初始化多个变量,然后所说的语法只是 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/