4

我发现用括号括起来不同的语句将返回最后一个:

(34892,47691876297,2000)                => 2000
('test',73,document.createElement('p')) => <p></p>

而且我还发现所有的语句都被执行了:

(console.log('test'), console.log('test2'), console.log('test3'), 6)

将记录:

test
test2
test3

结果将是 6。

但是,我也发现有些语句不能用:

(throw new Error(), 10)         => SyntaxError: Unexpected token throw
(if (1) console.log('test'), 5) => SyntaxError: Unexpected token if

那么,这个括号逗号符号的意义何在?您可以轻松地执行所有语句,然后使用最后一条语句的值。这个是来做什么的?我使用不正确吗?

4

2 回答 2

10

那是逗号运算符:)

它允许您从左到右评估表达式,返回最后一个操作数的结果(在您的情况下,它没有存储在任何地方,并且完全有效)。

参考:

于 2013-04-29T16:02:16.693 回答
1

最明显的一点是允许在 for 循环中使用多个表达式:

for (let x=3, y=6; x < 10; x++, y++) {...}
                           ^^^^^^^^

那是逗号运算符,同样的运算符也允许您提供的示例

return (x, y)
于 2020-05-09T00:15:44.423 回答