Без кофеина: двойные скобки - PullRequest
0 голосов
/ 04 июля 2019

Недавно я удалил кофеин из старого проекта и заметил, что получил много if clauses, где выражения заключены в «лишние» скобки:

if ((data == null) || (data === ""))

Есть ли случаи, когда требуется перенос?Имхо это так же, как:

if (data == null || data === "")

Ответы [ 2 ]

1 голос
/ 04 июля 2019

При явной проверке вы можете опустить круглые скобки вокруг сравнений из-за более низкого приоритета оператора из == / === над логическим ИЛИ ||.

if (data == null || data === "")
0 голосов
/ 04 июля 2019

В этом случае это не имеет значения, но всякий раз, когда вы удаляете скобки из оператора if (или где угодно), обязательно проверяйте таблицу приоритетов .

Например, убрав из этого скобки:

if ((someVar && someConditional) == someBool)

Результат:

if (someVar && someConditional == someBool)

Что совершенно другое. В первом примере из-за круглых скобок сначала будет оцениваться someVar && someConditional, затем resultOfOperation == someBool. Во втором примере из-за более высокого приоритета && сначала оценивается someConditional == someBool, затем 0 && resultOfOperation.

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