Синтаксис JavaScript это набор правил, как JavaScript строятся программы.
JavaScript Программы
Компьютерная программа представляет собой список "инструкций" , чтобы быть "выполнены" компьютером.
В языке программирования, эти программные инструкции называются заявления.
JavaScript является языком программирования.
JavaScript заявления разделяются точкой с запятой.
В HTML, JavaScript программы могут быть выполнены с помощью веб-браузера.
Заявления JavaScript
заявления JavaScript состоят из:
Значения, Операторы, выражения, ключевые слова и комментарии.
Значения JavaScript
Синтаксис JavaScript определяет два типа значений: Фиксированные значения и значения переменных.
Фиксированные значения называются литералы. Значения переменных называются переменными.
JavaScript литералы
Наиболее важные правила написания фиксированные значения являются:
Числа записываются с или без десятичных знаков:
Строки текст, написанный в двойные или одинарные кавычки:
Переменные JavaScript
В языке программирования, переменные используются для хранения значений данных.
JavaScript использует var ключевое слово, чтобы объявить переменные.
Знак равенства используется для присвоения значений переменным.
В этом примере, х определяется как переменная. Тогда х назначается (учитывая) значение 6:
Операторы JavaScript
JavaScript использует оператор присваивания (=) для присвоения значений переменным:
JavaScript использует арифметические операторы (+ - * /) для вычисления значений:
JavaScript Выражения
Выражение представляет собой сочетание значений, переменных и операторов, который вычисляет на значение.
Вычисление называется оценка.
Например, 5 * 10 принимает значение 50:
Выражения могут также содержать значения переменных:
Значения могут быть различных типов, таких как числа и строки.
Например, "Джон" + "," + "Доу", принимает значение "Джон Доу":
JavaScript Ключевые слова
JavaScript ключевые слова используются для определения действий, которые необходимо выполнить.
var ключевое слово указывает браузеру, чтобы создать новую переменную:
JavaScript Комментарии
Не все операторы JavaScript будут "выполнены".
Код после того, как двойные косые черты // или между /* и * / рассматривается как комментарий.
Комментарии игнорируются, и не будут выполнены:
JavaScript Идентификаторы
Идентификаторы являются именами.
В JavaScript, идентификаторы используются для именования переменных (и ключевым словам, а также функции и метки).
Правила для юридических имен так же в большинстве языков программирования.
В JavaScript, первый символ должен быть буквой, подчеркивание (_) или знак доллара ($) .
Последующие символы могут быть буквы, цифры, символы подчеркивания или знака доллара.
Числа не допускаются в качестве первого символа.
Таким образом, JavaScript можно легко отличить идентификаторы из чисел.
JavaScript чувствителен к регистру
Все идентификаторы JavaScript чувствительны к регистру.
Переменные LastName и ФАМИЛИЯ, две разные переменные.
JavaScript не интерпретирует VAR или Var в качестве ключевого слова var .
JavaScript и Camel Case
Исторически сложилось так, программисты использовали три способа соединения нескольких слов в одно имя переменной:
Дефисы:
first-name, last-name, master-card, inter-city.
Дефис не допускаются в JavaScript. Она предназначена для вычитаний.
Нижнее подчеркивание:
first_name, last_name, master_card, inter_city.
Дело Camel:
FirstName, LastName, MasterCard, InterCity.
В языках программирования, особенно в JavaScript, верблюд случай часто начинается со строчной буквы:
firstName, lastName, masterCard, interCity.
JavaScript Набор символов
JavaScript использует набор символов Unicode.
Unicode обложки (почти) все символы, знаки препинания и символы в мире.
Обучаясь письменной речи, человек обязательно изучает основы правописания, грамматику и орфографию. К примеру, все знают, что предложение начинается с заглавной буквы и заканчивается точкой, текст делится на абзацы и т. п.
Аналогичным образом действуют и языки программирования: чтобы программа работала, следует придерживаться определенных правил. Набор правил, определяющий структуру языков программирования, называется синтаксисом. Многие языки программирования строятся на одинаковых концепциях, но используют разный синтаксис.
Данный мануал ознакомит вас с основами синтаксиса и структурирования кода в 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 <= 10; i++) {
console.log(i);
}
Как видите, круглые скобки оператора if и цикла выделены пробелами с двух сторон.
Когда код относится к функции, методу или классу, скобки пишутся рядом с именем без пробела.
// An example function
function functionName() {}
// Initialize a function to calculate the volume of a cube
function cube(number) {
return Math.pow(number, 3);
}
// Invoke the function
cube(5);
В приведенном выше примере cube() является функцией, а скобки () будут содержать параметры или аргументы. В этом случае параметры выражены с помощью number или 5. Написание cube () с пробелом тоже будет работать, но оно почти никогда не используется. Слитное написание функции и скобок помогает легко связать функцию с ее аргументами.
Точка с запятой
Так же, как абзацы текста состоят из предложений, программы JavaScript состоят из ряда инструкций, которые называются выражениями. В конце предложения ставится точка, а в конце выражения JavaScript – точка с запятой (;).
// A single JavaScript statement
const now = new Date();
Если два или более выражения расположены рядом друг с другом, их необходимо разделить точкой с запятой.
// Get the current timestamp and print it to the console
const now = new Date(); console.log(now);
Если выражения разделены символом новой строки, точку с запятой ставить необязательно.
// Two statements separated by newlines
const now = new Date()
console.log(now)
По общему соглашению точку с запятой принято ставить после выражения независимо от символов новых строк. Это снижает вероятность ошибок.
// Two statements separated by newlines and semicolons
const now = new Date();
console.log(now);
Точку с запятой также ставят между инициализацией и условием в циклах for:
for (initialization; condition; increment) {
// run the loop
}
Точка с запятой не ставится после операторов if, for, do, while, class, switch и function. Эти операторы берутся в фигурные скобки {}. Рассмотрите следующий код:
// Initialize a function to calculate the area of a square
function square(number) {
return Math.pow(number, 2);
}
// Calculate the area of a number greater than 0
if (number > 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)
Программа на JavaScript состоит из переменных, операторов, функций, объектов и других конструкций языка. Все они будут подробно рассмотрены в данном учебнике. А в этой теме я расскажу, как они пишутся в коде программы. Синтаксис JavaScript обыкновенный и во многом совпадает с другими языками прораммирования.
Пробелы и перевод строки
JavaScript не требует присутсвия пробелов между переменными и различными орераторами. Но позволяет ставить пробелы там, где Вам нужно:
Перевод строки тоже можно производить там, где Вам удобно. Есть одно исключение: нельзя делать перевод строки внутри текста, находящегося в кавычках. Подробнее этот вопрос будет рассмотрен при изучении строк. В остальных случаях Вы сами решаете, где переводить строку
Можно написать так:
Однако, я рекомендую ставить точку с запятой после каждого оператора и вызова функции. Во-первых, отсутствие точки с запятой допустимо не всегда, и может возникнуть ошибка. Во-вторых, это распространённый стиль грамотного написания кода, и лучше сразу к нему привыкать. Желательно соблюдать правило: каждая строка должна заканчиваться точкой с запятой. Исключение составляют конструкции языка, для которых предусмотрены свои знаки. Например, некоторые операторы.
При написании своих названий, например, при создании переменных, тоже учитывается регистр символов. company и Company - это две разные переменные.
Программа на 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. В этом уроке мы рассмотрим базовые лексические структуры языка.
Набор символов
При написании программ на JavaScript используется набор символов Unicode. В отличие от 7-разрядной кодировки , подходящей только для английского языка, и 8-разрядной кодировки , подходящей только для английского и основных западноевропейских языков, 16-разрядная кодировка Unicode поддерживает практически все письменные языки, имеющиеся на планете. Стандарт ECMAScript v3 требует, чтобы реализации JavaScript обеспечивали поддержку стандарта Unicode версии 2.1 или выше, а стандарт ECMAScript v5 требует, чтобы реализации обеспечивали поддержку стандарта Unicode версии 3 или выше.
Var str = "hello, world!"; // Используется латиница var стр = "Привет, мир!"; // Используется кириллица
Пробельные символы
Пробельные символы улучшают читаемость исходного кода, но эти символы, как правило, не нужны для функциональности js-сценария.
Код символа | Название | Сокращение | Описание | Escape последовательность |
---|---|---|---|---|
U + 0009 | Горизонтальная табуляция | Перемещает позицию печати к следующей позиции горизонтальной табуляции | \t | |
U + 000B | Вертикальная табуляция | Перемещает позицию печати к следующей позиции вертикальной табуляции | \v | |
U + 000C | Прогон страницы, смена страницы | Выбрасывает текущую страницу и начинает печать со следующей | \f | |
U + 0020 | Пробел | Интервал между буквами | ||
U + 00A0 | Неразрывный пробел | Символ, отображающийся внутри строки подобно обычному пробелу, но не позволяющий разорвать в этом месте строку |
В дополнение к пробельным символам символы конца строки также используются для улучшения читаемости исходного текста. Однако в некоторых случаях символы конца строки могут влиять на выполнение кода JavaScript, поскольку есть несколько моментов, когда их применение запрещено. Символы конца строки также влияют на процесс автоматической установки точки с запятой.
Следующие символы распознаются интерпретаторами JavaScript как символы конца строки:
Точка с запятой
Программа (сценарий) на языке JavaScript представляет собой перечень «инструкций», которые выполняются веб-браузером.
В JavaScript инструкции, как правило, разделяются точкой с запятой (;).
Если несколько инструкций располагаются на одной строке, то между ними следует поставить знак "точка с запятой" (;).
Во многих случаях JavaScript интерпретирует переход на новую строчку как разделитель команд для автоматического ввода точек с запятой (ASI) для завершения инструкций.
Если каждая инструкция размещается на отдельной строке, то разделитель можно не писать:
Одна инструкция может располагаться на нескольких строчках:
В этом случае JavaScript ждёт завершение выражения и поэтому автоматически не вставляет «виртуальную» точку с запятой между строчками.
Примечание: Хотя точки с запятой в конце инструкций необязательны, рекомендуется всегда добавлять их. Сейчас это правило, которому следуют все большие проекты.
Это правило предотвращает некоторые ошибки, например незавершенный ввод, а также позволяет сжимать кoд за счет удаления пустых мест. Сжатие кода без точек с запятой приводит к синтаксическим ошибкам. Кроме того, наличие точек с запятой препятствует снижению быстродействия, потому что синтаксические анализаторы пытаются исправлять предполагаемые ошибки, добавляя недостающие точки с запятой.
Чувствительность к регистру
Для написания JavaScript-пpoгpaмм используется набор символов Unicode, который включает в себя наборы ASCII и Latin-1 и поддерживается практически всеми языками и платформами.
В JavaScript все элементы, включая имена переменных, функций и операторов, чувствительны к регистру и должны всегда содержать одинаковые наборы прописных и строчных букв. Например, ключевое слово while должно набираться как «while», а не «While» или «WHILE».
Аналогично num, NUM и Num – это три разные переменные:
Комментарии
Комментарии позволяют выделить фрагмент программы, который не выполняется интерпретатором JavaScript, а служит лишь для пояснений содержания программы.
Комментарии в JS могут быть однострочными и многострочными.
Однострочные комментарии начинаются с двойного слэша // . Текст считается комментарием до конца строки:
Многострочный комментарий начинается с слэша и звездочки (/*) , а заканчивается ими же в обратном порядке (*/) . Так можно закомментировать одну и более строк:
Совет: Не пренебрегайте комментариями в своих кодах. Они пригодятся вам при отладке и сопровождении программ. На этапе разработки бывает лучше закомментировать ненужный фрагмент программы, чем просто удалить. А вдруг его придется восстанавливать?
Идентификаторы
Идентификатор - это последовательность букв, цифр, символов подчёркивания (_) и знаков доллара ($) . Цифра не может быть первым символом идентификатора, т. к. тогда интерпретатору JavaScript труднее отличать идентификаторы от чисел. Идентификаторы выступают в качестве имён переменных, функций, свойств объекта и т. д.
Для совместимости и простоты редактирования для составления идентификаторов обычно используются только символы ASCII и цифры. Однако в ECMAScript v3 идентификаторы могут содержать буквы и цифры из полного набора символов Unicode. Это позволяет программистам давать переменным имена на своих родных языках и использовать в них математические символы:
Var имя = "Макс"; var Π = 3.14;
Исторически, программисты использовали разные способы объединения нескольких слов для записи идентификаторов. Сегодня есть два устоявшихся негласных стиля: camelCase и snake_case.
В JavaScript наиболее популярным стилем именования идентификаторов, состоящих из нескольких слов, является camelCase – "верблюжья" нотация. Это означает, что первая буква является строчной, а первые буквы всех последующих слов – прописными, например:
Var firstSecond; var myCar = "audi"; var doSomethingImportant;
Внимание: В JavaScript объединение нескольких слов для записи идентификаторов с применением дефисов запрещено. Они зарезервированы для математических вычитаний.
На заметку: В JavaScript ключевые слова, зарезервированные слова и значения true , false и null не могут быть идентификаторами.
Ключевые и зарезервированные слова
Стандарт ЕСМА-262 определяет набор ключевых слов (keywords), которые не могут использоваться в качестве идентификаторов. Зарезервированные слова имеют определенное значение в языке JavaScript, так как они являются частью синтаксиса языка. Использование зарезервированных слов приведет к ошибке компиляции при загрузке скрипта.
Зарезервированные ключевые слова по версии ECMAScript® 2015
- break
- catch
- class
- const
- continue
- debugger
- default
- delete
- export
- extends
- finally
- function
- import
- instanceof
- return
- super
- switch
- throw
- typeof
- while
- yield
Ключевые слова, зарезервированные на будущее
Кроме того, ЕСМА-262 содержит набор зарезервированных слов (reserved words), которые также нельзя использовать как идентификаторы или имена свойств. За ними сейчас не стоит никакой функциональности, но она может появиться в будущих версиях:
- await
В строгом (strict) режиме в этот список добавляются следующие слова:
- implements
- package
- protected
- static
- interface
- private
- public
Зарезервированные ключевые слова в версиях ECMAScript® от 1 по 3
- abstract
- boolean
- double
- final
- float
- native
- short
- synchronized
- transient
- volatile
В 5-й редакции ECMAScript немного изменены правила употребления ключевых и зарезервированных слов. Как и прежде они не могут быть идентификаторами, но теперь их допустимо использовать как имена свойств в объектах. Тем не менее, для обеспечения совместимости с прошлыми и будущими редакциями ECMAScript всё-же лучше не использовать ключевые и зарезервированные слова как идентификаторы и имена свойств.
Итоги
- Интерпретатор JavaScript игнорирует все пробельные символы которые могут присутствовать между языковыми конструкциями и воспринимает текст программы как сплошной поток кода.
Кроме того, JavaScript также, по большей части, игнорирует символы перевода строки. Поэтому пробелы и символы перевода строки могут без ограничений использоваться в исходных текстах программ для форматирования и придания им удобочитаемого внешнего вида. - Пропуск точек с запятой нельзя признать правильной практикой программирования, и поэтому желательно выработать привычку их использовать.
- В JavaScript все элементы, включая имена переменных, функций и операторов, чувствительны к регистру и должны всегда содержать одинаковые наборы прописных и строчных букв.
- Не пренебрегайте комментариями в своих кодах. Они пригодятся вам при отладке и сопровождении программ. Не переживайте насчет увеличения размера кода, т.к. существуют инструменты сжатия JavaScript, которые, при публикации, легко удалят комментарии.
- Идентификаторы выступают в качестве имён переменных, функций, свойств объекта и состоят из последовательности букв, цифр, символов подчёркивания (_) и знаков доллара ($) .
- Ключевые слова JavaScript, применяемые для обозначения элементов синтаксиса языка, а также другие слова, зарезервированные на будущее, нельзя использовать в качестве имен переменных, функций и объектов.