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