Выражения в тернарном операторе JavaScript и JSLint

Я недавно получил комментарий к одному из моих сообщений в блоге о JSLint, в котором спрашивается, почему JSLint выдал ошибку следующего содержания:

s === "test" ? MyFunc() : MyFunc2();

Сгенерированная ошибка была:

« Ожидается назначение или функция call и вместо этого увидел выражение ".

Очевидно, что JSLint ожидает здесь присваивания, что-то вроде:

var y = (s === "test") ? MyFunc() : MyFunc2();

Но я действительно не вижу проблемы с первым примером. Действительно ли тернарные операторы должны использоваться только для назначений?

Я ничего не видел на JSLint.com , и не было ничего очевидного в книге JavaScript: Хорошие части. И та же ошибка также сообщается в вилка сообщества JSHint .

Кто-нибудь?

23
задан James Wiseman 6 June 2011 в 07:26
поделиться