Перейти до основного вмісту

Основи синтаксису

При написанні коду важливо не просто знати, який символ або конструкцію можна використовувати, але насамперед необхідно розуміти термінологію і складові вихідного коду. В цій секції нам не важливе розуміння як що працює, ми тільки познайомимось з базовою термінологією і синтаксисом.

Інструкція

Інструкція (statement) - це пов'язаний набір слів і символів із синтаксису мови, які об'єднуються з метою вираження однієї ідеї, однієї інструкції для машини.

a = b * 2;

Інструкції в JavaScript завершуються крапкою з комою, яку можна порівняти із крапкою наприкінці речення вашої рідної мови.

  • a і b - змінні (як в алгебраїчному рівнянні), це сховища даних, які використовує програма. Змінна складається із ідентифікатора (імені) і пов'язаного з ним значення.
  • 2 - просто число. Це називається значенням літерала (literal value), тому що не зберігається у змінній.
  • = і * - оператори, вчиняють дії над значеннями і змінними.

Уявімо, що змінна b вже зберігає число 10. Тоді ця інструкція каже машині:

  1. Піди знайди змінну з ідентифікатором b і запитай, яке в неї зараз значення.
  2. Підстав значення змінної b (10), у твердження на місце b.
  3. Виконай операцію множення 10 на 2.
  4. Запиши результат обчислення виразу правої частини у змінну 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-файлу. Завжди пишіть код в суворому режимі.

script.js
"use strict";
// Це коментар. Далі йде увесь код JS-файлу