Основи синтаксису
При написанні коду важливо не просто знати, який символ або конструкцію можна використовувати, але насамперед необхідно розуміти термінологію і складові вихідного коду. В цій секції нам не важливе розуміння як що працює, ми тільки познайомимось з базовою термінологією і синтаксисом.
Інструкція
Інструкція (statement) - це пов'язаний набір слів і символів із синтаксису мови, які об'єднуються з метою вираження однієї ідеї, однієї інструкції для машини.
a = b * 2;
Інструкції в JavaScript завершуються крапкою з комою, яку можна порівняти із крапкою наприкінці речення вашої рідної мови.
a
іb
- змінні (як в алгебраїчному рівнянні), це сховища даних, які використовує програма. Змінна складається із ідентифікатора (імені) і пов'язаного з ним значення.2
- просто число. Це називається значенням літерала (literal value), тому що не зберігається у змінній.=
і*
- оператори, вчиняють дії над значеннями і змінними.
Уявімо, що змінна b
вже зберігає число 10
. Тоді ця інструкція каже машині:
- Піди знайди змінну з ідентифікатором
b
і запитай, яке в неї зараз значення. - Підстав значення змінної
b
(10), у твердження на місцеb
. - Виконай операцію множення
10
на2
. - Запиши результат обчислення виразу правої частини у змінну
a
.
Завершення інструкції крапкою з комою не вимагається, однак, настійно рекомендується завжди її ставити. Це просте правило зробить код зрозумілішим і допоможе уникнути неочевидних помилок.
Вираз
Інструкції складаються із частин, як і в будь-якій мові речення складаються із фраз і ці фрази називаються виразами.
Вираз (expression) - посилання на змінну або значення, або на набір змінних і значень в поєднанні з операторами.
[ [a] = [ [b] * [2] ] ]
Інструкція з прикладу вище містить 5 виразів, які виділені квадратними дужками для візуалізації (це не синтаксис мови):
[2]
- вираз значення літерала.[b]
і[a]
- вирази змінної, означають необхідність підставити значення змінної, але лише у тому випадку, якщо змінна складається із правої частини виразу присвоювання.[b * 2]
- арифметичний вираз множення.[a = b * 2]
- вираз присвоювання. У нашому випадку вказує на необхідність обчислення правої частини виразу і присвоювання результату змінноїa
у лівій частині виразу.
Також існує вираз виклику, порівняння тощо. Ми не будемо зараз розглядати їх усіх, нам важливо розуміти, з яких частин складається вихідний код і як правильно його читати.
Інтерфейс
Коли ми підходимо до автомату з кавою або сідаємо за кермо автомобіля, існує певний набір елементів управління, з яким можна взаємодіяти. У програмуванні це називається інтерфейс.
Інтерфейс - це набір властивостей і методів сутності, доступних для використання у вихідному коді.
Властивість
У нас з вами є властивості: зріст, вага, колір очей, тобто якісь описові характеристики. Так само і у даних є властивості, наприклад у рядка є властивість його довжини. Синтаксис звернення до властивості дуже простий - через крапку.
сутність.ім`я_властивості
Для наочності, звернемось до властивості рядка length
, яка містить кіл-ть символів рядка.
"JavaScript is awesome".length;
Метод
Це виклик дії, наприклад присісти
або плавати
, тобто якась активна операція. Так само і у даних є свої заздалегідь визначені методи, наприклад, можна додати або видалити елементи з колекції, перевести рядок в інший регістр тощо. Синтаксис виклику метода дуже схожий на звернення до властивості, але в кінці додається пара круглих дужок.
сутність.ім`я_метода()
Для прикладу звернемось до методу рядка toUpperCase()
, який зробить усі літери великими.
"JavaScript is awesome".toUpperCase();
Суворий режим
Нова можливість у специфікації ECMAScript 5, яка дозволяє переводити скрипт у режим повної відповідності сучасному стандарту. Це запобігає певним помилкам, як-от використання небезпечних і застарілих конструкцій.
Для того, щоб перевести скрипт в суворий режим, достатньо зазначити директиву на початку js-файлу. Завжди пишіть код в суворому режимі.
"use strict";
// Це коментар. Далі йде увесь код JS-файлу