:
-- Число `0`, порожній рядок `""`, `null`, `undefined`, та `NaN` всі перетворюються на `false`. Через це їх називають "неправдивими" значеннями.
+- Число `0`, порожній рядок `""`, `null`, `undefined` та `NaN` перетворюються на `false`. Через це їх називають "хибними" ("falsy") значеннями.
- Інші значення перетворюються на `true`, тому їх називають "правдивими".
Отже, код ніколи не виконається за такої умови:
```js
-if (0) { // 0 є неправдивим
+if (0) { // 0 є хибним
...
}
```
-...а в середені цієї умови -- завжди буде виконуватися:
+...а всередині цієї умовної конструкції -- завжди буде виконуватися:
```js
if (1) { // 1 є правдивим
@@ -56,39 +56,39 @@ if (1) { // 1 є правдивим
}
```
-Ми також можемо передавати попередньо обчисленне значення до `if`, наприклад:
+Ми також можемо передавати попередньо обчислене значення до `if`, наприклад:
```js
-let cond = (year == 2015); // рівність обчислюється як true або false
+let condition = (year == 2015); // рівність обчислюється як true або false
-if (cond) {
+if (condition) {
...
}
```
-## Вираз "else"
+## Блок "else"
-Вираз `if` може містити не обов'язковий блок "else". Він виконується коли умова є неправдивою.
+Вираз `if` може містити необов'язковий блок "else" ("інакше"). Він виконується, коли умова є хибною.
Наприклад:
```js run
-let year = prompt('У якому році була опублікована специфікація ECMAScript-2015?', '');
+let year = prompt('В якому році була опублікована специфікація ECMAScript-2015?', '');
if (year == 2015) {
alert( 'Ви здогадалися правильно!' );
} else {
- alert( 'Як ви можете так помилятися?' ); // будь-яке значення окрім 2015
+ alert( 'Як ви можете так помилятися?' ); // будь-яке значення, окрім 2015
}
```
## Декілька умов: "else if"
-Іноді ми хотіли б перевірити кілька варіантів умов. Вираз `else if` дозволяє нам це зробити.
+Іноді ми хотіли б перевірити кілька варіантів умови. Блок `else if` дозволяє нам це зробити.
Наприклад:
```js run
-let year = prompt('У якому році була опублікована специфікація ECMAScript-2015?', '');
+let year = prompt('В якому році була опублікована специфікація ECMAScript-2015?', '');
if (year < 2015) {
alert( 'Зарано...' );
@@ -99,9 +99,9 @@ if (year < 2015) {
}
```
-У наведеному вище коді JavaScript спочатку перевіряє `year < 2015`. Якщо це не вірно вона переходить до наступної умови `year > 2015`. Якщо це також не правда вона показує останній `alert`.
+У наведеному вище коді JavaScript спочатку перевіряє `year < 2015`. Якщо це не вірно, перевіряється наступна умова `year > 2015`. Якщо це також неправда, показується останній `alert`.
-Може бути більше `else if` блоків. Останній `else` є необов'язковим.
+Може бути більше `else if` блоків. Останній блок `else` є необов'язковим.
## Умовний оператор '?'
@@ -133,7 +133,7 @@ alert(accessAllowed);
let result = умова ? значення1 : значення2;
```
-Обчислюється `умова`: якщо умова є правдивою, тоді повертається `значення1`, інакше -- `значення2`.
+Спочатку обчислюється `умова`: якщо вона є правдивою, тоді повертається `значення1`, інакше -- `значення2`.
Наприклад:
@@ -141,7 +141,7 @@ let result = умова ? значення1 : значення2;
let accessAllowed = (age > 18) ? true : false;
```
-Технічно ми можемо опускати дужки навколо `age > 18`. Оператор "знак питання" має низький пріоритет, тому він виконується після порівняння `>`.
+З технічного погляду, ми можемо пропускати дужки навколо `age > 18`. Оператор "знак питання" має низький пріоритет, тому він виконується після порівняння `>`.
Цей приклад робить теж саме, що і попередній:
@@ -154,10 +154,10 @@ let accessAllowed = age > 18 ? true : false;
Але дужки роблять код більш читабельним, тому ми рекомендуємо їх використовувати.
````smart
-У наведеному вище прикладі можно уникнути використання оператора "знака питання", оскільки само порівняння повертає `true/false`:
+У наведеному вище прикладі можна уникнути використання оператора "знак питання", оскільки само порівняння повертає `true/false`:
```js
-// теж саме
+// те ж саме
let accessAllowed = age > 18;
```
````
@@ -168,22 +168,22 @@ let accessAllowed = age > 18;
Наприклад:
```js run
-let age = prompt('age?', 18);
+let age = prompt('Вік?', 18);
let message = (age < 3) ? 'Привіт, крихітко!' :
(age < 18) ? 'Вітаю!' :
- (age < 100) ? 'Привітання!' :
+ (age < 100) ? 'Моє шанування!' :
'Який незвичайний вік!';
alert( message );
```
-Спочатку може бути важко зрозуміти, що відбувається. Але придивившись ближче ми можемо побачити, що це звичайна послідовність тестів:
+Спочатку може бути важко зрозуміти, що відбувається. Але, придивившись ближче, ми можемо побачити, що це звичайна послідовність перевірок:
-1. Перший "знак питання" перевіряє чи `age < 3`.
+1. Перший "знак питання" перевіряє, чи `age < 3`.
2. Якщо правда -- то повертає `'Привіт, крихітко!'`. У іншому випадку переходить до виразу після двокрапки '":"', перевіряючи `age < 18`.
-3. Якщо це правда -- то повертає `'Вітаю!'`. У іншому випадку переходить до виразу після наступної двокрапки '":"', перевіряючи `age < 100`.
-4. Якщо це правда -- то повертає `'Привітання!'`. У іншому випадку переходить до виразу після останньої двокрапки '":"', повертаючи `'Який незвичайний вік!'`.
+3. Якщо це правда -- то повертає `'Вітаю!'`. В іншому випадку переходить до виразу після наступної двокрапки '":"', перевіряючи `age < 100`.
+4. Якщо це правда -- то повертає `'Моє шанування!'`. У іншому випадку переходить до виразу після останньої двокрапки '":"', повертаючи `'Який незвичайний вік!'`.
Ось як це буде виглядати у випадку з використанням `if..else`:
@@ -193,7 +193,7 @@ if (age < 3) {
} else if (age < 18) {
message = 'Вітаю!';
} else if (age < 100) {
- message = 'Привітання!';
+ message = 'Моє шанування!';
} else {
message = 'Який незвичайний вік!';
}
@@ -201,7 +201,7 @@ if (age < 3) {
## Нетрадиційне використання '?'
-Іноді оператор знак питання `?` використовується як заміна `if`:
+Іноді оператор "знак питання" `?` використовується як заміна `if`:
```js run no-beautify
let company = prompt('Яка компанія створила JavaScript?', '');
@@ -212,15 +212,15 @@ let company = prompt('Яка компанія створила JavaScript?', '')
*/!*
```
-Залежно від умови `company == 'Netscape'`, буде виконано або перший або другий вираз після `?` і показано повідомлення.
+Залежно від умови `company == 'Netscape'`, буде виконано або перший, або другий вираз після `?` і показано повідомлення.
-Тут ми не присвоюємо результат змінній. Замість цього виконуємо інший код залежно від умови.
+Тут ми не присвоюємо результат змінній. Замість цього ми виконуємо різний код залежно від умови.
-**Не рекомендується використовувати оператор "знака питання" таким чином.**
+**Не рекомендується використовувати оператор "знак питання" таким чином.**
-Запис коротше, ніж еквівалентний вираз `if`, що приваблює деяких програмістів. Але він менш читабельний.
+Запис є коротшим, ніж еквівалентна інструкція `if`, що приваблює деяких програмістів. Але він менш читабельний.
-Ось такий самий код, використовуючи `if` для порівняння:
+Ось такий самий код, що використовує `if` для порівняння:
```js run no-beautify
let company = prompt('Яка компанія створила JavaScript?', '');
@@ -236,4 +236,4 @@ if (company == 'Netscape') {
Наші очі сканують код по вертикалі. Блоки коду, що охоплюють кілька рядків, легше зрозуміти, ніж довгий горизонтальний набір інструкцій.
-Мета оператора знака питання `?` полягає в поверненні одного або іншого значення в залежності від його умови. Будь ласка, використовуйте його саме для цього. Використовуйте `if`, коли вам потрібно виконати різні гілки коду.
+Мета оператора "знак питання" `?` полягає в поверненні одного або іншого значення в залежності від умови. Будь ласка, використовуйте його саме для цього. Використовуйте `if`, коли вам потрібно виконати різні гілки коду.
pFad - Phonifier reborn
Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy