Автор оригинала: FreeCodeCamp Community Member.
Этот учебник поможет вам узнать, как заменить Если/else
Заявление с более лаконичным стенным синтаксисом под названием The Terary Operator.
Условный оператор – также известный как Тернарный оператор – это альтернативная форма Если/else
Заявление, которое поможет вам написать условные блоки кода более лаконичным способом.
Синтаксис для условного оператора выглядит так:
conditional ? expression_when_true : expression_when_false;
Во-первых, вам нужно написать Условное выражение который оценивает в либо правда
или ложь
Отказ Если выражение возвращает true, JavaScript выполнит код, который вы пишете на левой стороне оператора толстой кишки ( :
), когда он возвращает false, код на правой стороне оператора толстой кишки выполняется.
Чтобы понять, как это работает, давайте сравним его с регулярным Если/else
утверждение. Допустим, у вас есть небольшая программа, которая присваивает разные оценки экзамена в зависимости от вашей оценки экзамена:
- Когда у вас есть оценка выше 80, вы назначаете «A» в качестве оценки.
- Иначе вы назначаете «B» в качестве оценки.
Вот один из способов написать программу:
let score = 85; let grade; if(score >= 80){ grade = "A"; } else { grade = "B"; } console.log(`Your exam grade is ${grade}`);
В качестве альтернативы вы можете написать вышеуказанный код, используя Ternary Operator следующим образом:
let score = 85; let grade = score >= 80 ? "A" : "B"; console.log(`Your exam grade is ${grade}`);
И там вы идете. Темнарный оператор скраденна выглядит более лаконичным и короче, чем обычный Если/else
утверждение.
Но что, если ваш код требует нескольких Если/else
заявления? Что, если вы добавите «C» и «D» оценки в оценку?
let score = 85; let grade; if(score >= 80){ grade = "A"; } else if (score >= 70) { grade = "B"; } else if (score >= 60) { grade = "C"; } else { grade = "D"; } console.log(`Your exam grade is ${grade}`);
Не волнуйтесь! Вы можете написать несколько тройных операторов, чтобы заменить код выше этого:
let score = 85; let grade = score >= 80 ? "A" : score >= 70 ? "B" : score >= 60 ? "C" : "D"; console.log(`Your exam grade is ${grade}`);
Тем не менее, не рекомендуется заменить несколько Если/else
Заявления с несколькими тройными операторами, потому что это делает код сложнее читать в будущем. Лучше всего придерживаться либо Если/else
или Переключатель
заявления для таких случаев.
Спасибо за чтение этого учебника
Я надеюсь, что это помогло вам понять, как работает тройной оператор. Если вам нравится этот учебник, вы можете проверить мой сайт на Sebhastian.com Для большего количества JavaScript вкусностей.
Кроме того, у меня есть Бесплатная еженедельная рассылка О веб-разработке Учебные пособия (в основном связанные с JavaScript).