Недавно я получил комментарий к одному из своих сообщений в блоге о JSLint, в котором спрашивался, почему JSLint выдал следующую ошибку:
s === "test" ? MyFunc() : MyFunc2();
Возникла ошибка:
«Ожидали присваивание или вызов функции, а вместо этого увидели выражение».
Ясно, что JSLint ожидает присваивания здесь, что-то вроде:
var y = (s === "test") ? MyFunc() : MyFunc2();
Но я не вижу проблемы с первым примером. Действительно ли тернарные операторы следует использовать только для присваивания?
Я ничего не увидел на JSLint.com, и в книге JavaScript ничего не было видно: Хорошие части. И та же ошибка также сообщается в ответвлении сообщества JSHint.
Любой?