我对JavaScript中某些情况下括号的语法规则感到好奇,例如在包装代码中。我非常熟悉将它们用于条件,例如if(this) that
和调用函数,但还有其他一些方法我注意到自己使用它们而我实际上并不知道规则是什么,或者他们是否连接起来。
我所看到的:
我已经看到它们用于包裹IIFE中的函数 - (() => { do something })();
中的外部对,以及当你想要破坏该行时来自箭头函数的隐式返回语句,就像在React无状态函数中一样组件:
() => (
<div>
Hello World
</div>
);
我也知道你可以用多个括号包装一个条件(没有充分的理由)并且它不会破坏任何东西:if(((true)))
。
我想知道的事情:
我发现我无法在任何地方使用括号来组织我的代码。
这些都是相关的吗?如何/何时包装东西的规则是什么?这一切是出于组织的缘故,还是有时会改变功能(我特别想到IIFE)?
感谢您明白这一点!
答案 0 :(得分:1)
括号中有一些基本的东西,都是不同的:
for
,while
等)在其他情况下,括号是语法的一部分,它们不是可选的。不幸的是,在运行代码时,如果不知道语法,就不能从另一个括号中分辨出一种括号。所以在
someFunction(x, (y + 1), z)
y + 1
周围的括号是可选的,是表达式语法的一部分,而整个函数参数列表周围的括号不是可选的,需要将该子表达式作为函数调用。
熟悉JavaScript语句语法的细节真的没有捷径。