用括号包装JavaScript语句有什么用?

问题描述 投票:2回答:2

我发现用括号包装不同的语句会返回最后一个。

(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

那么,这个括号逗号的符号有什么用呢?你可以轻松地执行所有的语句,然后使用最后一条语句的值。这是做什么用的?我是不是用错了?

javascript comma parentheses
2个回答
7
投票

这就是逗号操作符:)

它让你可以从左到右评估表达式,返回最后一个操作数的结果(在你的例子中,这个结果没有存储在任何地方,而且是完全有效的)。

参考文献。


0
投票

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

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

这就是逗号运算符,也就是你提供的例子中的那个运算符。

return (x, y)
© www.soinside.com 2019 - 2024. All rights reserved.