В 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>
Есть лучший способ сделать это?
(1 == 2) || alert("error: 1 does not equal 2");
Вы должны действительно посмотреть в Онлайн документация
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Logical
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')
Попробуйте это, если вы ищете что-то вроде этого …
что-то || другой
(1 == 2) || «ошибка: 1 не равно 2»