|
| 1 | +'use strict'; |
| 2 | + |
| 3 | +// Задание 1: |
| 4 | +// Напиши программу, которая определяет тип скидки для пользователя в зависимости от суммы его заказа. |
| 5 | +// 1. Создай константу orderAmount (сумма заказа) и присвой ей значение 950. |
| 6 | +// 2. Создай переменную discountType (тип скидки). |
| 7 | +// 3. Используя конструкцию if...else, else...if (из 5.1): |
| 8 | +// - Если orderAmount больше или равно 1000, discountType = 'gold'. |
| 9 | +// - Если orderAmount больше или равно 500 (но меньше 1000), discountType = 'silver'. |
| 10 | +// - Во всех остальных случаях, discountType = 'bronze'. |
| 11 | +// 4. Выведи discountType в консоль. |
| 12 | + |
| 13 | +const orderAmount = 950; |
| 14 | +let discountType; |
| 15 | + |
| 16 | +if (orderAmount >= 1000) { |
| 17 | + discountType = 'gold'; |
| 18 | +} else if (orderAmount >= 500) { |
| 19 | + discountType = 'silver'; |
| 20 | +} else { |
| 21 | + discountType = 'bronze'; |
| 22 | +} |
| 23 | + |
| 24 | +console.log(discountType); // silver |
| 25 | + |
| 26 | +// Задание 2: |
| 27 | +// У нас есть переменная userRole (роль пользователя) и userName. |
| 28 | +// let userRole = 'moderator'; |
| 29 | +// let userName = 'Alex'; |
| 30 | +// Нам нужно создать переменную accessLevel (уровень доступа). |
| 31 | +// Используя тернарный оператор (? :) (из файла 5.5), напиши однострочное выражение, которое: |
| 32 | +// - Если userRole равен 'admin', присваивает accessLevel значение 'Full Access'. |
| 33 | +// - Иначе (во всех остальных случаях), присваивает accessLevel значение 'Limited Access'. |
| 34 | +// После этого, используя шаблонную строку, выведи в консоль: "User: [userName], Level: [accessLevel]" |
| 35 | + |
| 36 | +let userRole = 'moderator'; |
| 37 | +let userName = 'Alex'; |
| 38 | + |
| 39 | +let accessLevel = userRole === 'admin' ? 'Full Access' : 'Limited Access'; |
| 40 | +console.log(`User: ${userName}, Level: ${accessLevel}`); // User: Alex, Level: Limited Access |
| 41 | + |
| 42 | +// Задание 3: |
| 43 | +// Давай напишем небольшой "переводчик" дней недели. |
| 44 | +// 1. Создай константу dayOfWeek (день недели) и присвой ей значение 'Вторник'. |
| 45 | +// 2. Создай переменную dayInEnglish. |
| 46 | +// 3. Используя конструкцию switch (из 5.4), проверь dayOfWeek. |
| 47 | +// 4. Создай case для 'Понедельник', 'Вторник', 'Среда'. |
| 48 | +// 5. В case 'Понедельник', dayInEnglish должен стать 'Monday'. |
| 49 | +// 6. В case 'Вторник', dayInEnglish должен стать 'Tuesday'. |
| 50 | +// 7. В case 'Среда', dayInEnglish должен стать 'Wednesday'. |
| 51 | +// 8. Добавь default, который будет присваивать dayInEnglish значение 'Unknown'. |
| 52 | +// 9. Не забудь break (или используй return, если поместишь switch в функцию, как в файле "Пример_оптимизации..."). |
| 53 | +// 10. Выведи dayInEnglish в консоль. |
| 54 | + |
| 55 | +const dayOfWeek = 'Вторник'; |
| 56 | +let dayInEnglish; |
| 57 | + |
| 58 | +switch (dayOfWeek) { |
| 59 | + case 'Понедельник': |
| 60 | + dayInEnglish = 'Monday'; |
| 61 | + break; |
| 62 | + case 'Вторник': |
| 63 | + dayInEnglish = 'Tuesday'; |
| 64 | + break; |
| 65 | + case 'Среда': |
| 66 | + dayInEnglish = 'Wednesday'; |
| 67 | + break; |
| 68 | + default: |
| 69 | + dayInEnglish = 'Unknown'; |
| 70 | +} |
| 71 | + |
| 72 | +console.log(dayInEnglish); // Tuesday |
| 73 | + |
| 74 | +// Задание 4: |
| 75 | +// У нас есть два объекта (хотя мы их ещё не проходили, представим, что это просто переменные). |
| 76 | +// let user = { |
| 77 | +// name: 'Alex' |
| 78 | +// }; // Объект с данными |
| 79 | +// let admin = null; // Пустая переменная |
| 80 | +// Нам нужно создать переменную activeUser (активный пользователь). |
| 81 | +// Используя оператор || (который мы проходили в 4.9, но он относится и к этой теме), напиши однострочное выражение, которое: |
| 82 | +// 1. Проверит user. Если user — truthy (а user у нас объект, помнишь, что это?), он должен попасть в activeUser. |
| 83 | +// 2. Если user вдруг falsy, он должен проверить admin. |
| 84 | +// 3. Если и admin falsy, то activeUser должен стать 'Guest'. |
| 85 | +// (Подсказка: user || admin || 'Guest') |
| 86 | +// После этого, используя шаблонную строку, выведи activeUser.name (имя пользователя). |
| 87 | +// (И снова предупреждение: что произойдёт, если activeUser станет 'Guest' (строкой), а мы попытаемся взять у него .name? Как это связано с порядком проверки в ||?) |
| 88 | + |
| 89 | +let user = { |
| 90 | + name: 'Alex', |
| 91 | +}; // Объект с данными |
| 92 | + |
| 93 | +let admin = null; // Пустая переменная |
| 94 | +let activeUser = user || admin || 'Guest'; |
| 95 | + |
| 96 | +console.log(`${activeUser.name}`); // Alex |
| 97 | + |
| 98 | +// Задание 5: |
| 99 | +// Давай напишем скрипт, который рекомендует, что надеть, в зависимости от погоды. |
| 100 | +// let temperature = 15; |
| 101 | +// let weather = 'rain'; // 'rain', 'sunny' и т.д. |
| 102 | +// Нам нужно: |
| 103 | +// 1. Создать переменную recommendation (рекомендация). |
| 104 | +// 2. Используя хитрый switch (true) (из 5.4), который мы обсуждали, проверить несколько условий: |
| 105 | +// - case 1: Если temperature > 25 И weather === 'sunny', recommendation = 'Футболка и шорты'. |
| 106 | +// - case 2: Если temperature > 10 И weather === 'rain', recommendation = 'Куртка и зонт'. |
| 107 | +// - case 3: Если temperature <= 10, recommendation = 'Теплая куртка'. |
| 108 | +// - default: recommendation = 'Оденьтесь по погоде'. |
| 109 | +// Выведи recommendation в консоль. |
| 110 | + |
| 111 | +let temperature = 15; |
| 112 | +let weather = 'rain'; // 'rain', 'sunny' и т.д. |
| 113 | +let recommendation; |
| 114 | + |
| 115 | +switch (true) { |
| 116 | + case temperature > 25 && weather === 'sunny': |
| 117 | + recommendation = 'Футболка и шорты'; |
| 118 | + break; |
| 119 | + case temperature > 10 && weather === 'rain': |
| 120 | + recommendation = 'Куртка и зонт'; |
| 121 | + break; |
| 122 | + case temperature <= 10: |
| 123 | + recommendation = 'Теплая куртка'; |
| 124 | + break; |
| 125 | + default: |
| 126 | + recommendation = 'Оденьтесь по погоде'; |
| 127 | +} |
| 128 | + |
| 129 | +console.log(recommendation); // Куртка и зонт |
0 commit comments