Тернарный оператор JavaScript как ярлык для операторов If / Else

Условный тернарный оператор в JavaScript присваивает значение переменной на основе некоторого условия и является единственным оператором JavaScript, который принимает три операнда.

Тернарный оператор заменяет оператор if , в котором оба предложения if и else назначьте разные значения одному и тому же полю, например:

 if (condition) 
result = 'something';
else
result = 'somethingelse';

data-type = “code”>

Тернарный оператор сокращает этот оператор if/else до одного оператора :

 result = (условие)?  'something': 'somethingelse'; 

data-type = “code”>

Если условие истинно, тернарный оператор возвращает значение первого выражения; в противном случае возвращается значение второго выражения. Давайте рассмотрим его части:

  • Сначала создайте переменную, которой вы хотите присвоить значение, в данном случае результат . Переменная result будет иметь другое значение в зависимости от условия.
  • Обратите внимание, что в правой части (то есть самого оператора) condition является первым.
  • За condition всегда следует вопросительный знак (? ), что в основном может быть прочитано как «было ли это правдой?»
  • Два возможных результата идут последними, разделенные двоеточием (: ).

Это использование тернарного оператора доступно только тогда, когда исходный оператор if следует формату, показанному выше, но это вполне распространенный сценарий, и использование тернарного оператора может быть гораздо более эффективным.

Пример тернарного оператора

Давайте посмотрим на реальный пример.

Возможно, вам нужно определить, какие дети подходят для посещения детского сада. У вас может быть такой условный оператор:

 var age = 7; 
var kindergarten_elhibited;

data-type = “code “>

 if (age> 5) {
kindergarten_elposed =" достаточно стар ";
}
else {
kindergarten_elhibited = "Слишком молод";
}

data-type = “code”>

Используя тернарный оператор, вы можете сократить выражение для:

 var kindergarten_elhibited = (age  data-type = "code"> 

Этот пример, конечно, вернет "Достаточно старый"

/p>

Несколько оценок

Вы можете включить несколько также оценки:

 var age = 7, var social_ready = true; 
var kindergarten_elhibited = (age «Достаточно старый, но еще не готовый» «Старый и достаточно зрелый в социальном отношении»
консоль. журнал (детский сад_подходит); //регистрирует «старые и социально зрелые»

data-type="code">

Несколько операций

Тернарный оператор также позволяет включать несколько операций для каждого выражения, разделенных запятой:

 var age = 7, socially_ready = true; 

data-type = "code">

 age> 5?  (
alert ("Вы достаточно взрослые."),
location.assign ("continue.html")
): (
socially_ready = false,
alert ("Извините, но вы еще не готовы.")
);

data-type = "code">

Значение тернарных операторов

Тернарные операторы избегают многословного кода, поэтому, с одной стороны, они кажутся желательными. С другой стороны, они могут поставить под угрозу читаемость - очевидно, «IF ELSE» легче понять, чем загадочный «?».

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

Как и в случае с любым другим программным решением, не забудьте рассмотреть контекст и удобство использования перед использованием тернарный оператор.

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