2010-05-05 3 views
2

Я только что ответил на вопрос, где я посоветовал удалить круглые скобки вокруг инструкции, и спросил, почему, на которые у меня не было ответа, когда я понял, что это не вызвало ошибок/предупреждений. Я мог только ссылаться на плохую практику. Но, может быть, я один что-то отсутствует ...Использование «автономных круглых скобок»

Я сделал свои собственные тесты:

(print('!')); // Outputs '!' 
((print('!!'))); // Outputs '!!' 
(1); // No output 
(qwerty); // No output 
(1==2); // No output 
(1=2); // Syntax error 
// etc... 

Может кто-нибудь пролить некоторый свет на, что происходит, и о том, что польза "автономные круглые скобки?

ответ

3

Что такое «автономные круглые скобки»?

Во всех смыслах и целях вообще не используется.

Что касается того, что происходит, они просто ограничивают выражения; в них нет ничего особенного или сложного. Причина, по которой ваш (1=2) не работает, по той же причине, почему то же самое без круглых скобок не будет работать: вы не можете присвоить значение (2) номеру (1).

2

Если вы помещаете выражение в круглые скобки, вы получаете новое выражение с тем же значением. Это может потребоваться там, где есть операторы, предшествующие или последующие, но в остальном это не имеет никакого эффекта.

Ваш последний пример является синтаксической ошибкой, потому что

1=2 

является синтаксической ошибкой.