Использование «автономных скобок» - PullRequest
2 голосов
/ 05 мая 2010

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

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

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

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

Ответы [ 2 ]

3 голосов
/ 05 мая 2010

для чего нужны «автономные скобки»?

Для всех намерений и целей, не использовать вообще.

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

2 голосов
/ 05 мая 2010

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

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

1=2

- синтаксическая ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...