freeCodeCamp/guide/russian/javascript/ternary-operator/index.md

61 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Ternary Operator
localeTitle: Тернарный оператор
---
Оператор Ternary заменяет блок `if` / `else` в сжатом формате. Ниже приведен общий формат тернарного оператора.
```
condition ? expr1 : expr2
```
## Описание
Если условие истинно, оператор разрешает значение expr1; в противном случае он решает значение expr2.
Например, чтобы отобразить другое сообщение, основанное на значении переменной isMember, вы можете использовать этот оператор:
```javascript
let isMember = true;
let message = isMember ? 'Welcome Back!' : 'You need to login'; // 'Welcome Back'
```
Другим полезным методом использования оператора Ternary было бы объявить его для условного выполнения функции или метода
```javascript
function memberOpen(){
console.log("open");
}
function memberClose(){
console.log("close");
}
let isMember = true;
(isMember) ? memberOpen() : memberClose();
```
![:rocket:](//forum.freecodecamp.com/images/emoji/emoji_one/rocket.png?v=2 ": Ракета:") [Код запуска](https://repl.it/M8Ge/1)
## Выполнение функций с тройным оператором
Также можно запускать функции с помощью тройного оператора, который иногда может быть полезным и более читаемым. Однако используйте его осторожно, потому что тогда код сложнее отлаживать.
```javascript
const runFirst = true;
runFirst ? first() : second();
```
## Цепочка с использованием тернарного оператора
Вы также можете неограниченно связывать тройной оператор, аналогично использованию `else if's` перед конечным else блока `if` `else` . Каждый раз, когда двоеточие используется для указания другой части тернарного оператора, новое условие может быть указано до тех пор, пока не будет использовано условие окончательного завершения.
```javascript
function displayNum(num) {
return num === 3 ? 'number is 3' : num === 2 ? 'number is 2' : num === 1 ? 'number is 1 ' : 'number is not in range';
}
```
Этот метод следует использовать экономно в правильных местах, как и в случае с несколькими `else if's` это иногда может привести к чтению более читаемого кода с помощью оператора switch.
**Подробнее:** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)