diff --git a/1-js/02-first-steps/10-ifelse/1-if-zero-string/solution.md b/1-js/02-first-steps/10-ifelse/1-if-zero-string/solution.md index c2dc72c46..b3734b223 100644 --- a/1-js/02-first-steps/10-ifelse/1-if-zero-string/solution.md +++ b/1-js/02-first-steps/10-ifelse/1-if-zero-string/solution.md @@ -1,6 +1,6 @@ **Так, буде.** -Будь-який рядок, за вийнятком порожнього (і `"0"` не є порожнім) перетворюються на `true` у логічному контексті. +Будь-який рядок, за вийнятком порожнього (і `"0"` не є порожнім), перетворюються на `true` у логічному контексті. Ми можемо запустити і перевірити: diff --git a/1-js/02-first-steps/10-ifelse/2-check-standard/ifelse_task2.svg b/1-js/02-first-steps/10-ifelse/2-check-standard/ifelse_task2.svg index 25dc2744d..9761e8741 100644 --- a/1-js/02-first-steps/10-ifelse/2-check-standard/ifelse_task2.svg +++ b/1-js/02-first-steps/10-ifelse/2-check-standard/ifelse_task2.svg @@ -1 +1 @@ -BeginYou don't know? “ECMAScript”!Right!What's the “official” name of JavaScript?OtherECMAScript \ No newline at end of file +ПочатокНе знаєте? “ECMAScript”!Правильно!Яка “офиційна” назва JavaScript?ІншеECMAScript \ No newline at end of file diff --git a/1-js/02-first-steps/10-ifelse/2-check-standard/ifelse_task2/index.html b/1-js/02-first-steps/10-ifelse/2-check-standard/ifelse_task2/index.html index a1515a035..dfc443db2 100644 --- a/1-js/02-first-steps/10-ifelse/2-check-standard/ifelse_task2/index.html +++ b/1-js/02-first-steps/10-ifelse/2-check-standard/ifelse_task2/index.html @@ -5,12 +5,12 @@ diff --git a/1-js/02-first-steps/10-ifelse/2-check-standard/task.md b/1-js/02-first-steps/10-ifelse/2-check-standard/task.md index 1d5787223..a5fc18bf4 100644 --- a/1-js/02-first-steps/10-ifelse/2-check-standard/task.md +++ b/1-js/02-first-steps/10-ifelse/2-check-standard/task.md @@ -2,11 +2,11 @@ importance: 2 --- -# Ім'я JavaScript +# Назва JavaScript -Використовуючи конструкцію `if..else`, напишіть код, що запитує: 'Яке "офіційне" ім'я JavaScript?' +Використовуючи конструкцію `if..else`, напишіть код, що запитує: 'Яка "офіційна" назва JavaScript?' -Якщо відвідувач вводить "ECMAScript", виведіть "Правильно!", у іншому випадку -- виведіть: "Не знаєте? ECMAScript!" +Якщо відвідувач вводить "ECMAScript", виведіть "Правильно!", в іншому випадку -- виведіть: "Не знаєте? ECMAScript!" ![](ifelse_task2.svg) diff --git a/1-js/02-first-steps/10-ifelse/5-rewrite-if-question/solution.md b/1-js/02-first-steps/10-ifelse/4-rewrite-if-question/solution.md similarity index 100% rename from 1-js/02-first-steps/10-ifelse/5-rewrite-if-question/solution.md rename to 1-js/02-first-steps/10-ifelse/4-rewrite-if-question/solution.md diff --git a/1-js/02-first-steps/10-ifelse/5-rewrite-if-question/task.md b/1-js/02-first-steps/10-ifelse/4-rewrite-if-question/task.md similarity index 57% rename from 1-js/02-first-steps/10-ifelse/5-rewrite-if-question/task.md rename to 1-js/02-first-steps/10-ifelse/4-rewrite-if-question/task.md index 38f686884..7aadb74d7 100644 --- a/1-js/02-first-steps/10-ifelse/5-rewrite-if-question/task.md +++ b/1-js/02-first-steps/10-ifelse/4-rewrite-if-question/task.md @@ -4,7 +4,7 @@ importance: 5 # Перепишіть 'if' на '?' -Перепишіть цей `if`, використовуючи умовний оператор `'?'`: +Перепишіть конструкцію `if`, використовуючи умовний оператор `'?'`: ```js let result; diff --git a/1-js/02-first-steps/10-ifelse/6-rewrite-if-else-question/solution.md b/1-js/02-first-steps/10-ifelse/5-rewrite-if-else-question/solution.md similarity index 100% rename from 1-js/02-first-steps/10-ifelse/6-rewrite-if-else-question/solution.md rename to 1-js/02-first-steps/10-ifelse/5-rewrite-if-else-question/solution.md diff --git a/1-js/02-first-steps/10-ifelse/6-rewrite-if-else-question/task.md b/1-js/02-first-steps/10-ifelse/5-rewrite-if-else-question/task.md similarity index 100% rename from 1-js/02-first-steps/10-ifelse/6-rewrite-if-else-question/task.md rename to 1-js/02-first-steps/10-ifelse/5-rewrite-if-else-question/task.md diff --git a/1-js/02-first-steps/10-ifelse/article.md b/1-js/02-first-steps/10-ifelse/article.md index fade512b6..57fcc873c 100644 --- a/1-js/02-first-steps/10-ifelse/article.md +++ b/1-js/02-first-steps/10-ifelse/article.md @@ -2,25 +2,25 @@ Іноді нам потрібно виконувати різні дії на основі різних умов. -Для цього ми можемо використовувати вираз `if` та умовний опертор `?`, що також називається оператором "знак питання". +Для цього ми можемо використовувати інструкцію `if` та умовний оператор `?`, що також називається оператором "знак питання". -## Вираз "if" +## Інструкція "if" -Вираз `if(...)` оцінює умову в дужках і, якщо результат умови `true`, виконує блок коду. +Інструкція `if(...)` обчислює умову в дужках і, якщо результат умови `true`, виконує блок коду. Наприклад: ```js run -let year = prompt('У якому році була опублікована специфікація ECMAScript-2015?', ''); +let year = prompt('В якому році була опублікована специфікація ECMAScript-2015?', ''); *!* if (year == 2015) alert( 'Ви маєте рацію!' ); */!* ``` -У наведеному вище прикладі умовою є проста перевірка рівності (`year == 2015`), але вона може бути набагато складнішою. +У наведеному вище прикладі умовою є проста перевірка рівності (`year == 2015`), але умова може бути набагато складнішою. -Якщо ми хочемо виконати більше однієї операції, ми повинні загорнути блок коду у фігурні дужки: +Якщо ми хочемо виконати більше однієї інструкції, ми повинні загорнути блок коду у фігурні дужки: ```js if (year == 2015) { @@ -29,26 +29,26 @@ if (year == 2015) { } ``` -Ми рекомендуємо огортати блок коду фігурними дужками `{}` кожного разу, коли ви використовуєте оператор `if`, навіть якщо для виконання використовується одна операція. Це покращує читабельність. +Ми рекомендуємо огортати блок коду фігурними дужками `{}` кожного разу, коли ви використовуєте інструкцію `if`, навіть якщо виконуватиметься лише одна операція. Це покращує читабельність. ## Булеве перетворення -Оператор `if (…)` оцінює вираз у його дужках і перетворює результат у логічне значення. +Інструкція `if (…)` обчислює вираз у дужках і перетворює результат у логічний тип. Нагадаємо правила перетворення з розділу : -- Число `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