JavaScript - разница между условиями и если / еще? - PullRequest
1 голос
/ 27 декабря 2010

Есть ли существенная разница между этим:

var status = (age >= 18) ? "adult" : "minor";

и этим?

var status;

if (age >= 18)
    status = "adult";
else
    status = "minor";

Ответы [ 2 ]

2 голосов
/ 27 декабря 2010

Там может быть разница, насколько производительность идет. Некоторые браузеры используют или раньше были медленнее с if() по сравнению с ? :. При нынешнем способе браузеров предварительно скомпилировать JavaScript-код, это может больше не быть проблемой. Если вы планируете делать критичные по времени вещи, совместимые со старыми браузерами, об этом, возможно, стоит подумать.

Однако в том, что касается логики кода, все то же самое.

1 голос
/ 27 декабря 2010

Чтобы сложить два моих цента, этот (? :) называется троичным оператором. В Википедии есть хорошая статья на эту тему. Практически поддерживается на любом языке высокого уровня.

см .: http://en.wikipedia.org/wiki/Ternary_operation

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