Существует ли JavaScript-эквивалент PHP & quot; или & quot; оператор?

В PHP вы можете использовать ключевое слово «или» для выполнения функции, если первое выражение оценивается как нечто ложное:

<?php
(1 == 2) or exit("error: 1 does not equal 2");
?>

Есть ли что-то похожее в JavaScript, такое приятное, как пример PHP?

Лучшее, что я могу придумать в JavaScript — это вспомогательная функция, где аргумент 1 — это условие для оценки, а аргумент 2 — это либо строка, либо функция. Если аргумент 1 является ложным, а аргумент 2 является строкой, то функция выдаст ошибку со строкой в ​​качестве сообщения об ошибке. Если аргумент 2 является функцией, то функция будет выполнена:

<script>
function or(condition, err_msg_or_function) {
if (typeof (condition) !== "boolean") {
throw new Error("or error: argument 1 must be boolean");
} else {
if (!condition) {
if (typeof (err_msg_or_function) === "function") {
err_msg_or_function();
} else if (typeof (err_msg_or_function) === "string") {
throw new Error(err_msg_or_function);
} else {
throw new Error("or error: argument 2 must be a function or a string");
}
}
}
}
</script>

На практике:

<script>
or((1 == 2), "error: 1 does not equal 2");
</script>

Есть лучший способ сделать это?

0

Решение

(1 == 2) || alert("error: 1 does not equal 2");
1

Другие решения

false === true || document.write('By using this we can perform the same thing with PHP')



(1===1) === (2===2) || document.write('we can replace the booleans by operators')

Попробуйте это, если вы ищете что-то вроде этого …

0

что-то || другой

(1 == 2) || «ошибка: 1 не равно 2»

0
По вопросам рекламы [email protected]