Есть ли в JavaScript эквивалент оператора PHP "или"?

В 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>

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

4 ответа

Решение
(1 == 2) || alert("error: 1 does not equal 2");

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

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

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')

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

Другие вопросы по тегам