Синтаксис JavaScript простыми словами. JavaScript - Синтаксис Комментарии в JavaScript

Программа на JavaScript – это последовательность инструкций (statements) . Иногда инструкции ещё называют командами JavaScript.

Чтобы программа выполнилась её необходимо запустить. В случае если программа является клиентским сценарием, то её запуск осуществляется автоматически браузером, но только в том случае если она, конечно, присутствует в коде страницы. Осуществляет браузер выполнение программы обычно в процессе загрузки веб-страницы.

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

Завершать инструкции точкой с запятой в JavaScript не требуется, если следующая инструкция будет записана с новой строки, но настоятельно рекомендуется . При этом желательно также каждую инструкцию располагать на отдельной строке.

Инструкции JavaScript состоят из: значений , операторов , выражений , ключевых слов и комментариев .

Например, эта инструкция говорит браузеру написать «Привет, мир!» внутри HTML элемента с id="main":

Document.getElementById("main").textContent = "Привет, мир!";

JavaScript значения

Синтаксис JavaScript определяет следующие типы значений (values): фиксированные значения (литералы) , значения констант и значения переменных .

Примеры литералов для представления различных значений в JavaScript:

17 // литерал целого числа 23.8 // литерал дробного числа "HTML" // литерал строки "HTML" // литерал строки true // логический литерал // литерал массива // литерал массива {} // литерал объекта { name: "Деннис", language: "ru" } // литерал объекта (ab|bc) // литерал регулярного выражения

В языках программирования константы и переменные используются для хранения значений данных .

Для объявления констант используется ключевое слово const , переменных – var и let .

Const MAX_LENGTH = 17; // константа var section = "HTML"; // переменная let arr = ["HTML","CSS"]; // переменная

let – это новый способ объявление переменных, который появился начиная с версии ES-2015 (ES6). Отличается let от var тем, что переменная, объявленная с помощью let , имеет другую область видимости (блочную), а также ещё тем, что к ней можно обратиться только после её создания.

Операторы JavaScript

В JavaScript имеется очень много различных операторов . Они обозначают операцию, которую нужно произвести .

В зависимости от количества операндов , с которыми оперирует оператор , они делятся на бинарные и унарные . Но в JavaScript также имеется ещё условный оператор, который состоит из 3 операндов . Данный оператор называется тернарным .

Например, оператор присваивания (знак =):

// operand1 = operand2; coorX = 100; // например присвоить переменной coordX число 100

Данный оператор используется для присвоения (установки) operand1 такого значения, которое имеет operand2 .

Оператор присваивания является бинарным , т.к. он оперирует двумя операндами.

Например, оператор инкремента (знак ++) используется для увеличения числового значения операнда на 1:

Var num = 5; ++num; // 6

Оператор инкремента является унарным , т.к. он оперирует одним операндом.

JavaScript выражения

Выражение (expression) - это комбинация значений, переменных и операторов, которые либо присваивают переменной значение, либо возвращают какое-то значение без его присваивания.

Например, выражение num = 955.47 использует оператор = для присваивания переменной num значения 7.

Например, выражение "Привет, " + "Тимофей" использует оператор + для сложения строк "Привет, " и "Тимофей" без присваивания.

Ключевые слова JavaScript

Инструкции JavaScript часто начинаются с ключевого слова (keyword). Оно (ключевое слово) предназначено для того чтобы определить какое действие JavaScript необходимо выполнить.

Например, ключевое слово var указывает браузеру создать переменные:

Var coordX = 5, coordY = 130;

Список некоторых ключевых слов: break , continue , do ... while , for , function , if ... else , return , switch , try ... catch , var .

Комментарии в JavaScript

Не все инструкции JavaScript являются выполняемыми.

Код после двойных косых черт // или между /* и */ рассматривается как комментарий .

Комментарии игнорируются и не выполняются:

Var direction = "top"; // однострочный комментарий // var speed = 10; эта инструкция не будет выполнена /* Функция, добавляющая к элементу с id="myBtn" класс show */ function showBtn() { document.getElementById("myBtn").classList.add("show"); }

// - является однострочным комментарием, т.е. любой текст между // и концом строки будет игнорироваться JavaScript (не будет выполняться).

/* */ - является многострочным комментарием, любой текст, находящийся между /* и */ будет игнорироваться JavaScript.

Блок инструкций JavaScript

JavaScript инструкции можно сгруппировать с помощью блока (фигурных скобок {...}).

Как правило, используется в функциях, управляющих структурах (for, while) и др.

Function myFunction() { document.getElementById("id__1").textContent = "Текст 1..."; document.getElementById("id__2").textContent = "Текст 2..."; }

Чувствительность к регистру

JavaScript является регистрозависимым языком . Это значит, что ключевые слова, переменные, имена функций и другие идентификаторы языка должны содержать одинаковые наборы прописных и строчных букв. Например, метод alert должно набираться только как alert , а не Alert , ALERT и т.п.

Пробелы в JavaScript

JavaScript игнорирует несколько пробелов . Можно добавить пробелы в сценарий, чтобы сделать его более читаемым.

Следующие строки эквивалентны:

Var str = "Текст"; var str="Текст";

Длина строки кода

Если JavaScript инструкция имеет большую длину, то её желательно разорвать. В большинстве случае разрыв инструкции лучше осуществить после какого-нибудь оператора.

Например:

Document.getElementById("aside__nav_header").innerHTML = "Дополнительная навигация (по разделу)";

  • имя, состоящее из одного слова, следует писать строчными буквами (например: article);
  • имя, состоящее из нескольких слов, следует писать слитно строчными буквами, кроме букв на стыке слов, их необходимо писать прописными (например: articleTitle);
  • количество слов в имени не должно превышать 3 (например: articleDatePublishedon)
  • переменные (не для хранения функций) и свойства объектов должны быть существительными (например: textComment);
  • массивы и коллекции значений следует задавать существительными во множественном числе (например: lastComments);
  • именовать функции и методы объектов необходимо глаголами (например: getLastArticles);
  • именование классов необходимо начинать с прописной буквы (например: Comments).

JavaScript может быть реализован с помощью операторов JavaScript , которые помещаются в теги HTML script ... /script на веб-странице.

Вы можете разместить теги script , содержащие ваш JavaScript , в любом месте вашей веб-страницы, но обычно рекомендуется хранить его в тегах head .

Тег script предупреждает программу браузера, чтобы начать интерпретацию всего текста между этими тегами в качестве скрипта. Простой синтаксис вашего JavaScript будет выглядеть следующим образом.

JavaScript code

Тег скрипта содержит два важных атрибута -

  • Язык - этот атрибут указывает, какой язык сценариев вы используете. Как правило, его значение будет javascript. Хотя недавние версии HTML (и XHTML, его преемник) прекратили использование этого атрибута.
  • Тип. Этот атрибут теперь рекомендуется для указания используемого языка сценариев, и его значение должно быть установлено на «text / javascript».

Таким образом, ваш сегмент JavaScript будет выглядеть следующим образом:

JavaScript code

Ваш первый скрипт JavaScript

Возьмем пример для распечатки «Hello World». Мы добавили дополнительный комментарий HTML, который окружает наш код JavaScript. Это чтобы сохранить наш код из браузера, который не поддерживает JavaScript. Комментарий заканчивается «// ->». Здесь «//» означает комментарий в JavaScript, поэтому мы добавляем это, чтобы браузер не читал конец комментария HTML как часть кода JavaScript. Затем мы вызываем функцию document.write , которая записывает строку в наш HTML-документ.

Эта функция может использоваться для записи текста, HTML или обоих. Взгляните на следующий код.

Этот код даст следующий результат:

Hello World!

Пробелы и разрывы строк

JavaScript игнорирует пробелы, вкладки и новые строки, которые появляются в программах JavaScript. Вы можете свободно использовать пробелы, вкладки и новые строки в своей программе, и вы можете форматировать и отступать ваши программы аккуратным и последовательным образом, что делает код легко читаемым и понятным.

Точки с запятой в JavaScript

В простых инструкциях в JavaScript обычно следует символ с запятой, как и на языках C, C ++ и Java. JavaScript, однако, позволяет пропустить эту точку с запятой, если каждое из ваших операторов помещается в отдельную строку. Например, следующий код может быть написан без точек с запятой.

Но при форматировании в одной строке следующим образом, вы должны использовать точки с запятой -

Примечание. Хорошая практика программирования заключается в использовании точек с запятой.

Чувствительность корпуса

JavaScript - это язык с учетом регистра. Это означает, что ключевые слова, переменные, имена функций и любые другие идентификаторы всегда должны вводиться с последовательной заглавной буквой.

Таким образом, идентификаторы Time и TIME будут передавать различные значения в JavaScript.

ПРИМЕЧАНИЕ. Следует соблюдать осторожность при написании имен переменных и функций в JavaScript.

Обучаясь письменной речи, человек обязательно изучает основы правописания, грамматику и орфографию. К примеру, все знают, что предложение начинается с заглавной буквы и заканчивается точкой, текст делится на абзацы и т. п.

Аналогичным образом действуют и языки программирования: чтобы программа работала, следует придерживаться определенных правил. Набор правил, определяющий структуру языков программирования, называется синтаксисом. Многие языки программирования строятся на одинаковых концепциях, но используют разный синтаксис.

Данный мануал ознакомит вас с основами синтаксиса и структурирования кода в JavaScript.

Функциональность и удобочитаемость

Функциональность и удобочитаемость – очень важные аспекты синтаксиса JavaScript, на которых нужно сосредоточиться отдельно.

Некоторые правила синтаксиса являются обязательными для кода JavaScript. Если они не соблюдаются, консоль выдаст ошибку, и сценарий прекратит работу.

Рассмотрим такую ошибку в программе «Hello, World!».

// Example of a broken JavaScript program
console.log("Hello, World!"

В конце не хватает закрывающей скобки, потому вместо строки «Hello, World!» программа вернет ошибку:

Uncaught SyntaxError: missing) after argument list

Чтобы сценарий мог продолжить работу, нужно добавить закрывающую круглую скобку. Вот так ошибка в синтаксисе JavaScript может повлиять на работу программы.

Некоторые аспекты синтаксиса и форматирования JavaScript основаны на разных точках зрения. Проще говоря, существуют стилистические правила и варианты, которые не являются обязательными и не приводят к ошибкам при запуске кода. Тем не менее, существует также много общих соглашений и конвенций, которые разумно отслеживать – так разработчики проектов и кода будут иметь все необходимые знания об обновлениях стиля и синтаксиса. Соблюдение общих конвенций повысит удобочитаемость кода.

Рассмотрим следующие три варианта присвоения значения переменной:

const greeting="Hello"; // no whitespace between variable & string
const greeting = "Hello"; // excessive whitespace after assignment
const greeting = "Hello"; // single whitespace between variable & string

Все три приведенные выше строки будут работать одинаково. Но третий вариант (greeting = «Hello») на сегодняшний день является наиболее часто используемым и удобочитаемым способом написания кода, особенно при рассмотрении его в контексте более объемной программы.

Очень важно следить за целостностью и последовательностью всего кода программы.

Ниже мы рассмотрим несколько примеров, чтобы ознакомиться с синтаксисом и структурой кода JavaScript.

Пробельные символы

Пробельные символы JavaScript – это пробелы, табы и перевод строки (это действие выполняет клавиша Enter). Как было показано ранее, избыточные пробелы вне строки, пробелы между операторами и другими символами игнорируются интерпретатором JavaScript. Это означает, что следующие три примера присвоения переменной будут иметь одинаковый результат:

const userLocation = "New York City, " + "NY";
const userLocation="New York City, "+"NY";
const userLocation = "New York City, " + "NY";

Переменная userLocation будет иметь значение «New York City, NY» вне зависимости от стиля присвоения этого значения. Для JavaScript не имеет никакого значения, какие пробельные символы используются.

В написании программ есть одно проверенное и надежное правило: расставляя пробельные символы, следуйте тем же правилам, которыми вы пользуетесь в математике или грамматике. К примеру, строка:

читается проще, чем:

Важным исключением из этого правила является назначение нескольких переменных. Обратите внимание на позицию = в следующем примере:

const companyName = "MyCompany";
const companyHeadquarters = "New York City";
const companyHandle = "mycompany";

Все операторы присваивания (=) выравниваются в одну линию с помощью пробелов. Этот тип структуры не используется всеми базами кода, но может повысить удобочитаемость.

Лишние переходы строки тоже игнорируются в JavaScript. Как правило, дополнительные пустые строки вставляются над комментарием и после блока кода.

Круглые скобки

В ключевых словах, таких как if, switch и for, до и после круглых скобок обычно добавляются пробелы. Рассмотрите следующий пример:

// An example of if statement syntax
if () { }
// Check math equation and print a string to the console
if (4 < 5) {
console.log("4 is less than 5.");
}
// An example of for loop syntax
for () { }
// Iterate 10 times, printing out each iteration number to the console
for (let i = 0; i 0) {
square(number);
}

Будьте осторожны, так как не весь код, заключенный в фигурные скобки, не требует точки с запятой. Объекты берутся в фигурные скобки и должны заканчиваться точкой с запятой.

// An example object
const objectName = {};
// Initialize triangle object
const triangle = {
type: "right",
angle: 90,
sides: 3,
};

Широко распространена практика, при которой точки с запятой ставятся после каждого оператора и выражения JavaScript, кроме тех, которые заканчиваются фигурными скобками.

Структурирование кода

Технически весь код программы JavaScript можно поместить в одну строку. Но такой код очень сложно читать и поддерживать. Потому программа делится на строки.

К примеру, оператор if/else можно написать в одну строку, а можно разделить:

// Conditional statement written on one line
if (x === 1) { /* execute code if true */ } else { /* execute code if false */ }
// Conditional statement with indentation
if (x === 1) {
// execute code if true
} else {
// execute code if false
}

Обратите внимание: любой код, включенный в блок, имеет отступы. Отступ можно поставить с помощью двух пробелов, четырех пробелов или табов. Выбор метода расстановки отступов зависит только от личных предпочтений или от рекомендаций вашей организации.

Открытая скобка в конце первой строки – обычный способ структурирования операторов и объектов JavaScript. Иногда скобки выносятся в отдельные строки:

// Conditional statement with braces on newlines
if (x === 1)
{
// execute code if true
}
else
{
// execute code if false
}

Такая структура в JavaScript, как и в других языках, используется довольно редко.

Вложенные операторы должны отделяться:

// Initialize a function
function isEqualToOne(x) {
// Check if x is equal to one
if (x === 1) {
// on success, return true
return true;
} else {
return false;
}
}

Правильная установка отступов делает код удобочитаемым. Единственное исключение из этого правила, которое следует иметь в виду, заключается в том, что сжатые библиотеки удаляют все ненужные символы, чтобы уменьшить объем файла.

Идентификаторы

Имена переменных, функций или свойств в JavaScript называются идентификаторами. Идентификаторы состоят из букв и цифр, но они не могут содержать символы за пределами $ и _ и не могут начинаться с числа.

Чувствительность к регистру

Имена чувствительны к регистру. То есть, myVariable и myvariable будут восприниматься как две разные переменные.

var myVariable = 1;
var myvariable = 2;

По общему соглашению имена пишутся в верблюжьем регистре (camelCase): первое слово пишется со строчной буквы, но каждое последующее слово начинается с заглавной буквы. Глобальные переменные или константы пишутся в верхнем регистре и разделяются символами подчеркивания.

const INSURANCE_RATE = 0.4;

Исключением из этого правила являются имена классов, в которых обычно каждое слово начинается с заглавной буквы (PascalCase).

// Initialize a class
class ExampleClass {
constructor() { }
}

Чтобы обеспечить читаемость кода, нужно последовательно использовать идентификаторы во всех файлах программы.

Зарезервированные ключевые слова

Идентификаторы также не должны содержать никаких зарезервированных ключевых слов. Ключевые слова – это слова JavaScript, которые имеют встроенную функциональность. К ним относятся var, if, for и this.

К примеру, вы не сможете присвоить значение переменной с именем var.

var var = "Some value";

JavaScript знает ключевое слово var, потому выдаст ошибку:

SyntaxError: Unexpected token (1:4)