В JavaScript есть выражения и утверждения. Выражения могут содержать выражения, но не наоборот. Оператор выражения true && false;
.
&&
ожидает двух выражений.
Оба true
и (function() { ... })()
являются выражения - это логическое выражение, вычисляемого true
, а выражение функции (завернутый в круглых скобках, а затем называется), вычисляемое undefined
.
continue
является заявлением , поэтому вы не можете использовать &&
. Вам нужно будет использовать if
, потому что if
принимает утверждение, которое должно выполняться, когда условие истинно.
Это правильное поведение в соответствии со спецификацией и не должно быть спецификацией V8.
Что было бы полезно для этого? Continue используется для выхода из цикла/условного раннего. Это не логическое значение – jzworkman
[здесь] (https://github.com/shichuan/javascript-patterns/blob/master/general-patterns/conditionals.html) см. Строку 125 – jakubmal
Этот пример полностью отличается от использования 'continue '. Хотя это все еще заявление и не может быть использовано, как описано ниже, использование continue внутри логического оператора никогда не будет выполнено, просто попытайтесь понять, почему вы использовали это как пример вместо использования «true && result ++», который был вашим реальным примером , – jzworkman