Попытка разобраться, когда использовать оператор if-else, switch или условный (tenary) оператор — Важность MDN

Это пост, в котором я документирую по мере обучения. Так что если что-то не имеет смысла или неправильно, дайте мне знать в комментариях. Предполагается, что вы знаете, что эти опции существуют для написания условий.

Я только что изучил операторы switch и условный оператор (tenary), который является вариацией условного оператора if-else.

Пока что я понимаю, что оператор switch используется как более чистый способ написания условий:

  1. Оператор switch используется как более чистый способ сравнения одного значения с несколькими вариантами.
const birthYear = 2005;
const birthYear2 = birthYear < 2000
switch (birthYear2) {
    case (birthYear2 < 2000):
        century = 20;
        postLetters = "th";
        console.log(`${century}${postLetters} century`);
        break;
    case birthYear2 > 2000:
        century = 21;
        postLetters = 'st';
        console.log(`${century}${postLetters} century`);
        break;
    default:
        console.log(`cusp of ${century}${postLetters} century`);
        break;

}
Войти в полноэкранный режим Выйти из полноэкранного режима
  1. Условный оператор (tenary) — более простой / более читаемый способ условного объявления переменных.
age = 25;

age >= 18 ? console.log('He is of legal limt') : console.log('He is not of legal limt');
Войти в полноэкранный режим Выход из полноэкранного режима
  1. If-else может быть использован для всего вышеперечисленного, только не так аккуратно и читабельно, как пример кода:
const birthYear = 2995;
let century;
let postLetters;
if (birthYear < 2000) {
    century = 20;
    postLetters = "th";
} else {
    century = 21;
    postLetters = "st";
}
console.log(`${century}${postLetters} century`);
Вход в полноэкранный режим Выход из полноэкранного режима

Моя проблема в том, что я не совсем понимаю, когда и где конкретно это должно применяться, или хотя бы примерно представляю. Поэтому я погуглил, и это привело к статье «Switch-Case or If-Else: Which One to Pick?», в котором не рассматривается условный (тенарный) оператор.

Некоторые заметки из этого:

  • Оператор switch — это оператор выбора из нескольких вариантов.
  • Если для значения case в Javascript switch multiple cases существует несколько подходящих случаев, выбирается первый.(Взято из сравнительной таблицы)
  • Операторы switch идеально подходят для фиксированных значений данных.
  • Условные ветви if-else отлично подходят для переменных условий, которые приводят к булевым значениям.
  • if-else: возможно выполнение различных условий.
  • Switch: Можно иметь только одно выражение.
  • Switch: Последовательность выполнения — выполняет один случай за другим, пока не появится оператор break или пока не будет достигнут конец оператора switch.
  • if-else: Последовательность выполнения — выполняется выражение if, или выполняется выражение else.
  • Операторы switch следует использовать для принятия решений на основе перечислимых целых чисел или строкового объекта.

Вы можете использовать if-else, когда:
Результатом условия является булево значение.
Условия являются сложными. Например, у вас есть условия с несколькими логическими операторами.

Вы можете использовать switch-case, когда:
Имеется несколько вариантов выражения.
Условие основано на предопределенном наборе значений, таких как перечисления, константы, известные типы. Например, коды ошибок, статусы, состояния, типы объектов и т.д.
Из: «Switch-Case или If-Else: Что выбрать?»

Мой вывод из вышесказанного:

  • одно условие в Switch против нескольких в if-else
  • если вы можете использовать оператор switch вместо if-else, то сделайте это.

Затем я проверил ссылки, использованные для статьи «Switch-Case или If-Else: Что выбрать?», и это привело меня к условным выражениям из MDN

  • if-else: в основном подходит для случаев, когда у вас есть несколько вариантов выбора, и каждый из них требует выполнения разумного количества кода, и/или условия сложны (например, несколько логических операторов).
  • switch: когда вы просто хотите установить переменную в определенное значение или вывести определенный оператор в зависимости от условия.

  • Краткое описание оператора Switch: они принимают на вход одно выражение/значение, а затем перебирают несколько вариантов, пока не найдут тот, который соответствует этому значению, выполняя соответствующий код, который идет вместе с ним.

  • Резюме: троичный или условный оператор — это небольшой кусочек синтаксиса, который проверяет условие и возвращает одно значение/выражение, если оно истинно, и другое, если оно ложно — это может быть полезно в некоторых ситуациях, и может занимать гораздо меньше кода, чем блок if…else, если у вас есть два варианта, между которыми выбирается условие true/false. троичный оператор предназначен не только для установки значений переменных; вы также можете запускать функции или строки кода — все, что угодно.

В принципе, мне следовало с самого начала обратиться к документации MDN. Там есть примеры, объяснения и все такое🎶.

Оцените статью
devanswers.ru
Добавить комментарий