JavaScript · Синтаксис · Початковий рівень

Умовні оператори 2

11 завдань

Додаткова практика з умовними операторами в JavaScript: перевірка строк, довжини тексту, символів, зрізів через методи строк, логічних операторів &&/|| і простих сценаріїв ввода.

Рядкові операції для умов

#
Завдання з рядками на цьому рівні вимагають знати, які рядкові методи використовувати для перевірок. У JavaScript є зручний набір для цього. Доступ до символів через дужкову нотацію. JavaScript не має від'ємних індексів, але метод at() має: ```javascript const text = "JavaScript"; console.log(text[0]); // J — перший символ console.log(text.at(-1)); // t — останній символ console.log(text.at(-2)); // p — передостанній ``` Зріз використовує slice(start, end). Синтаксис схожий на Python, але без кроку: ```javascript const text = "Hello world"; console.log(text.slice(0, 4)); // Hell — перші 4 символи console.log(text.slice(2, 8)); // llo wo ``` Якщо другий аргумент пропустити — slice йде до кінця рядка. Для перевірки підрядка і префікса/суфікса: ```javascript text.includes("@") // true, коли "@" є де-небудь у рядку text.startsWith("Py") // true, коли text починається з "Py" text.endsWith("on") // true, коли text закінчується на "on" ``` Всі три чутливі до регістру. "python".startsWith("Py") — false. Довжина рядка — це властивість, а не метод: ```javascript text.length // кількість символів — без дужок ``` Поширена помилка — написати text.length() — це викине TypeError.

Патерни із завдань

#
Перед доступом до символів за конкретним індексом перевіряйте, що рядок достатньо довгий: ```javascript const text = prompt("Введіть рядок: "); if (text.length > 10) { console.log(text[0], text.at(-1)); } else { console.log("Занадто короткий"); } ``` Для порівнянь без урахування регістру — перетворіть до нижнього регістру спочатку. toLowerCase() повертає новий рядок: ```javascript const text = prompt("Введіть фразу: "); if (text.toLowerCase() === "hello") { console.log("І вам привіт!"); } else if (text.toLowerCase() === "goodbye") { console.log("До побачення!"); } else { console.log("Не розумію"); } ``` Комбінування перевірки довжини з перевіркою вмісту — && обчислюється зліва направо, тому якщо перевірка довжини не пройде, JavaScript пропустить решту: ```javascript const text = prompt("Введіть повідомлення: "); if (text.length > 6 && text.at(-1) === "!") { console.log("Емоційне повідомлення"); } else { console.log("Звичайне повідомлення"); } ``` Перевірка діапазону довжин: ```javascript if (text.length >= 5 && text.length <= 10) { console.log("Підходяща довжина"); } ``` У JavaScript немає ланцюгових порівнянь Python — завжди потрібні два окремих порівняння через &&.
01

Перший і останній символ.

#

Користувач вводить рядок. Якщо довжина рядка більше 10 символів — виведіть перший і останній символ, інакше — виведіть "Рядок занадто короткий".

let text = "JavaScript course";
Рішення
let text = "JavaScript course";
if (text.length > 10) {
    console.log(text[0], text[text.length - 1]);
} else {
    console.log("Рядок занадто короткий");
}

// або так можна: зберегти символи у змінні
let text = "JavaScript course";

if (text.length > 10) {
    let first = text[0];
    let last = text[text.length - 1];
    console.log(first, last);
} else {
    console.log("Рядок занадто короткий");
}
02

Рядок починається з A.

#

Користувач вводить рядок. Якщо рядок починається з літери "A" або "a" — виведіть "Починається з A", інакше — "Починається з іншої літери". Можна використовувати методи рядків.

let text = "Alice";
Рішення
let text = "Alice";
if ((text.startsWith("A")) || (text.startsWith("a"))) {
    console.log("Починається з A");
} else {
    console.log("Починається з іншої літери");
}
03

Перші чотири символи.

#

Користувач вводить рядок. Якщо довжина рядка більше 8 символів — виведіть перші 4 символи, інакше — виведіть увесь рядок.

let text = "JavaScript";
Рішення
let text = "JavaScript";
if (text.length > 8) {
    console.log(text.slice(0, 4));
} else {
    console.log(text);
}

// або так можна: спочатку підготувати фрагмент
let text = "JavaScript";
let part;

if (text.length > 8) {
    part = text.slice(0, 4);
} else {
    part = text;
}

console.log(part);
04

Емоційне повідомлення.

#

Користувач вводить рядок. Якщо довжина рядка більше 6 символів і останній символ — "!" — виведіть "Емоційне повідомлення", інакше — "Звичайне повідомлення".

let text = "JavaScript!";
Рішення
let text = "JavaScript!";
if ((text.length > 6) && (text[text.length - 1] === "!")) {
    console.log("Емоційне повідомлення");
} else {
    console.log("Звичайне повідомлення");
}

// або так можна через метод endsWith
let text = "Привіт!";

if (text.length > 6 && text.endsWith("!")) {
    console.log("Емоційне повідомлення");
} else {
    console.log("Звичайне повідомлення");
}
05

Пошук спецсимволів.

#

Користувач вводить рядок. Якщо рядок містить символ "@" або символ "#" — виведіть "Спецсимвол знайдено", інакше — "Спецсимволів немає".

let text = "[email protected]";
Рішення
let text = "[email protected]";
if ((text.includes("@")) || (text.includes("#"))) {
    console.log("Спецсимвол знайдено");
} else {
    console.log("Спецсимволів немає");
}

// або так можна: перевіряти символи по черзі
let text = "hello@site";

if (text.includes("@")) {
    console.log("Спецсимвол знайдено");
} else if (text.includes("#")) {
    console.log("Спецсимвол знайдено");
} else {
    console.log("Спецсимволів немає");
}
06

Привітання за ім’ям та прізвищем.

#

Користувач вводить ім’я та прізвище. Якщо і ім’я, і прізвище не порожні — виведіть привітання у форматі: "Привіт, Ім’я Прізвище!" (використайте шаблонний рядок (template literal)), інакше — "Введіть коректні дані".

let name = "Alex";
let surname = "Smith";
Рішення
let name = "Alex";
let surname = "Smith";
if ((name) && (surname)) {
    console.log(`Привіт, ${name} ${surname}!`);
} else {
    console.log("Введіть коректні дані");
}

// або без шаблонного рядка, через склеювання рядків
let name = "Alex";
let surname = "Smith";

if (name && surname) {
    console.log("Привіт, " + name + " " + surname + "!");
} else {
    console.log("Введіть коректні дані");
}
07

Фрагмент з 3-го по 8-й символ.

#

Користувач вводить рядок. Якщо довжина рядка більша за 10 символів — виведіть фрагмент рядка через slice з 3-го символу (включно) по 8-й символ (включно), інакше — виведіть "Недостатньо символів".

let text = "JavaScript course";
Рішення
let text = "JavaScript course";
if (text.length > 10) {
    console.log(text.slice(2, 8));
} else {
    console.log("Недостатньо символів");
}
08

Перший і останній у повідомленні.

#

Користувач вводить рядок. Якщо рядок не порожній — виведіть повідомлення: "Перший символ: X, останній символ: Y" (використайте шаблонний рядок (template literal)), інакше — "Порожній рядок".

let text = "JavaScript";
Рішення
let text = "JavaScript";
if (text) {
    console.log(`Перший символ: ${text[0]}, останній символ: ${text[text.length - 1]}`);
} else {
    console.log("Порожній рядок");
}

// або так можна: заздалегідь зберегти перший і останній символ
let text = "JavaScript";

if (text) {
    let first = text[0];
    let last = text[text.length - 1];
    console.log(`Перший символ: ${first}, останній символ: ${last}`);
} else {
    console.log("Порожній рядок");
}
09

Відповідна довжина рядка.

#

Користувач вводить рядок. Якщо довжина рядка від 5 до 10 символів включно — виведіть "Відповідна довжина", інакше — "Невідповідна довжина".

let text = "JavaScript";
Рішення
let text = "JavaScript";
if (5 <= text.length && text.length <= 10) {
    console.log("Відповідна довжина");
} else {
    console.log("Невідповідна довжина");
}

// другий варіант: те саме з окремою змінною length
let text = "course";
let length = text.length;

if (length >= 5 && length <= 10) {
    console.log("Відповідна довжина");
} else {
    console.log("Невідповідна довжина");
}
10

Схоже на JavaScript.

#

Користувач вводить рядок. Якщо рядок починається з "Java" або закінчується на "Script" — виведіть "Схоже на JavaScript", інакше — "Не схоже на JavaScript".

let text = "JavaScript";
Рішення
let text = "JavaScript";
if ((text.startsWith("Java")) || (text.endsWith("Script"))) {
    console.log("Схоже на JavaScript");
} else {
    console.log("Не схоже на JavaScript");
}
11

Привіт або бувай.

#

"Програма Привіт - Бувай" Якщо користувач введе: Привіт, привіт, приВіт або ПРИВІТ - відповісти йому "І тобі привіт!" Якщо користувач введе: Бувай, БуВай, і тд - відповісти йому "Адьйос!".

let text = "Привіт";
Рішення
let text = "Привіт";
if (text.toLowerCase() === "привіт") {
    console.log("І тобі привіт!");
} else if (text.toLowerCase() === "бувай") {
    console.log("Адьйос!");
} else {
    console.log("Нє, я не розмовляю з незнайомими людьми! Адьйос!");
}