JavaЗмінна сценарію: оголосити, призначити значення з прикладом
⚡ Розумний підсумок
JavaЗмінні скрипта зберігають значення, такі як імена та числа, або результат виразу. Оголошення змінної за допомогою var, let або const резервує іменований слот, який решта скрипта може зчитувати та оновлювати.
Змінні використовуються для зберігання значень (ім'я = «Джон») або виразів (сума = x + y). Кожне значення, яке скрипт зберігає на потім — ім'я користувача, проміжний підсумок, прапорець «так» або «ні» — знаходиться у змінній, тому їхнє правильне оголошення та найменування — це перша навичка, яку потрібно опанувати. JavaScript.
Оголошення змінних у JavaScript
Перш ніж використовувати змінну, її спочатку потрібно оголосити. Ви повинні використовувати ключове слово var для оголошення змінної ось так:
var name;
Оголошення саме по собі створює ім'я і нічого більше. На цьому етапі змінна існує, але містить спеціальне значення невизначене, оскільки в неї ще не було введено жодного значення.
⚠️ Примітка до версії: var — це оригінальне ключове слово оголошення, яке досі працює в кожному браузері. Додано ES6 (2015). дозволяти та сопзЬ, які ключові слова є сучасними JavaВикористання скриптів. Обидва порівнюються з var далі на цій сторінці.
Призначте значення змінній
Ви можете присвоїти значення змінній або під час оголошення змінної, або після оголошення змінної.
var name = "John";
OR
var name; name = "John";
Обидві форми завершуються однаковим результатом. Одинарний знак рівності – це оператор присвоєння: вона копіює значення праворуч у змінну ліворуч. Це не перевірка на рівність, яка записується як == або === і належить до умовні заяви.
Іменування змінних
Хоча ви можете називати змінні як завгодно, гарною практикою програмування є давати змінним описові та змістовні назви. Більше того, назви змінних повинні починатися з літери, і вони чутливі до регістру. Отже, змінні studentname та studentName відрізняються, оскільки літера n в назві відрізняється (n та N).
Чотири правила визначають, чи є ім'я взагалі законним:
- Перший символ має бути літерою, знаком долара або символом підкреслення — ніколи цифрою.
- Після першого символу дозволені літери, цифри, знаки долара та символи підкреслення.
- Пробіли не дозволені, тому ідея з двох слів об'єднується як studentName, а не залишається як два слова.
- Зарезервовані слова, такі як var, let, const, class та return, не можна повторно використовувати як імена.
За домовленістю JavaНазви скриптів використовують camelCase, тому перше слово пишеться з малої літери, а кожне наступне слово починається з великої: firstName, totalPrice, isLoggedIn.
Наведений нижче скрипт оголошує дві змінні, застосовує до них п'ять арифметичних операторів і записує кожен результат на сторінку. Спробуйте це самі:
<html>
<head>
<title>Variables!!!</title>
<script type="text/javascript">
var one = 22;
var two = 3;
var add = one + two;
var minus = one - two;
var multiply = one * two;
var divide = one/two;
document.write("First No: = " + one + "<br />Second No: = " + two + " <br />");
document.write(one + " + " + two + " = " + add + "<br/>");
document.write(one + " - " + two + " = " + minus + "<br/>");
document.write(one + " * " + two + " = " + multiply + "<br/>");
document.write(one + " / " + two + " = " + divide + "<br/>");
</script>
</head>
<body>
</body>
</html>
var проти let проти const у Modern JavaScript
Існувала лише змінна (var), коли JavaСпочатку було написано скрипт, і він має дві звички, які дивують новачків: його можна повторно оголосити без попереднього введення коду, і він ігнорує межі блоків. Для виправлення обох проблем було додано let та const. У таблиці нижче три ключові слова розташовано поруч.
| Поведінка | було | дозволяти | сопзЬ |
|---|---|---|---|
| Сфера | Ціла функція | Огороджувальний блок | Огороджувальний блок |
| Можна перепризначити | Так | Так | Немає |
| Можна повторно оголосити в тій самій області застосування | Так | Немає | Немає |
| Обов'язкове значення в рядку декларації | Немає | Немає | Так |
| Прочитайте перед оголошенням | Повертає невизначене | Помилка посилання | Помилка посилання |
Проста звичка охоплює майже всі випадки: тягнися до сопзЬ спочатку перейдіть на дозволяти момент, коли значення дійсно має змінитися, наприклад, лічильник всередині одного з JavaЦикли скриптів, і зберігайте var для читання старого коду, а не для написання нового.
Змінний обсяг та підйом JavaScript
Область видимості визначає, які частини скрипта можуть бачити змінну. Оголошення var належить функції, яка її містить, тому воно екранує будь-який блок if або блок for всередині цієї функції. Оголошення let або const належить парі фігурних дужок, у яких воно знаходиться, і зникає поза ними.
function demo() { if (true) { var wide = "visible throughout demo()"; let narrow = "visible only inside these braces"; } console.log(wide); console.log(narrow); }
Перший console.log виводить свій рядок. Другий викидає ReferenceError, оскільки narrow більше не існує після завершення блоку if.
Підйом це друга половина історії. JavaСкрипт реєструє кожне оголошення в області видимості, перш ніж виконати один рядок цієї області видимості. Ім'я змінної реєструється та встановлюється на undefined, тому зчитування її раніше є допустимим, але марним. Ім'я let або const реєструється без значення, а проміжок між верхньою частиною блоку та рядком оголошення називається скронева мертва зона.
console.log(a); var a = 1; console.log(b); let b = 2;
Перший рядок друкує undefined. Третій рядок закінчується на «Cannot access 'b' before initialization» — помилці, яка робить let безпечнішим за var, оскільки вказує на справжню помилку, а не приховує її.
Типові помилки під час декларування JavaЗмінні сценарію
П'ять повідомлень відповідають за більшість виводу консолі, який бачать новачки під час вивчення змінних. Кожне з них вказує на конкретну причину, тому виправлення зазвичай займає один рядок.
| Повідомлення консолі | Викликати | виправляти |
|---|---|---|
| Синтаксична помилка: Ідентифікатор 'x' вже оголошено | let або const, що використовуються двічі для одного й того ж імені в одному блоці | Повторно використайте існуючу змінну або перейменуйте другу |
| TypeError: присвоєння постійної змінної | Константі було надано нове значення | Оголосіть це за допомогою let, якщо значення має змінитися |
| ReferenceError: Неможливо отримати доступ до 'x' до ініціалізації | Всередині тимчасової мертвої зони було зчитано let або const. | Перемістіть текст нижче рядка оголошення |
| Помилка посилання: x не визначено | Ім'я ніколи не було оголошено, або його написали з помилкою | Оголосіть це або виправте орфографію та регістр літер |
| значення undefined з'являється там, де очікувалося значення | Змінну було оголошено, але її так і не було призначено | Призначте значення перед першим зчитуванням |
Додавання «use strict» на початок файлу перетворює беззвучну версію четвертого випадку — присвоєння імені, яке ніколи не було оголошено — на видиму помилку, тому вона має бути в кожному новому скрипті. Ті самі правила для змінних переносяться без змін до масиви, об'єктита код на стороні сервера, написаний для Node.js.
