continue в z = x ? x : continue;
Почему
var name = names[i] ? names[i] : continue; Не хочет работать так как нужно, т.е. пропустить итерацию если false, может и хочет но бросает синтаксическую ошибку :-E Как же тогда его туда затолкать? |
var name = names[i]; if ( !name ) continue; |
Не надо его туда заталкивать. Используйте if, не насилуйте тернарный оператор.
|
Цитата:
Решил уже спросить на форуме wtf! :) |
continue ничего не возвращает, его кабэ вообще нет, потому js видит после : пустоту и ругается.
|
сч его ты вообще взял что ты можешь испрльзовать тернарный оператор как if ????
|
Цитата:
|
Цитата:
|
На кону + в карму.
Напоминаю вопрос: Цитата:
Небольшая подсказка: никто не может запретить его использовать. Цитата:
И это неправильный ответ, следующий участник вращайте барабан. |
Цитата:
|
континью - это не выражение, оно ничего не возвращает, а тернарный иф всегда что-то должен возвращать.
|
oneguy, которая этим самым запрещает реализовывать в нем функционал if и делает невозможным его использование как if... иии это ПРАВИЛЬНЫЙ ОТВЕТ! и ваше очко не уходит в зрительный зал!
|
ксать eval('continue') тоже по ходу не работает(хотя в полной связке с for - проблем не вызывает
оч похоже, что при трансляции-компиляции, данные операторы(break еще) - как свойство именно данного цикла, и динамического возникновения не допускают, т.к теряется привязка |
Для пущей убедительности ссылочки на спецификацию:
Тернарный условный оператор ( ? : ) согласно его синтаксису принимает второй и третий аргументы AssignmentExpression, являющимися также Expression. continue является ContinueStatement, который в свою очередь является Statement. Statement не может являться Expression, т.к. Expression может являться Statement (см. ExpressionStatement, который является Statement). |
Часовой пояс GMT +3, время: 19:30. |