Переменные языка javascript чувствительны к регистру. Синтаксис JavaScript простыми словами. Запятая для выражений

Синтаксис 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 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 , которые помещаются в теги 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 программа состоит из предложений, которые разделяются точкой с запятой.

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

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

Предложения состоят из:

  • Значений
  • Операторов
  • Выражений
  • Ключевых слов
  • Комментариев

В JavaScript существует два типа значений: переменные и литералы.

Переменные

Переменные используются для хранения значений. Для объявления переменных в JavaScript используется ключевое слово var .
Переменные мы можем объявить тремя вариантами:

  • С помощью ключевого слова var. Например, var y = 56;
  • Просто присвоив значение. Например, y = 56;
    Но этот вариант нежелателен, так как в таком случае переменная становится глобальной.
    Почему глобальная переменная – это плохо? Хотя бы потому, что становясь глобальной она выходит из-под контроля области действия функции. Она может быть как изменена другим кодом, так и сама переписать значение в чужом коде
  • С помощью ключевого слова let.
    Т.к. в JavaScript (до ECMAScript 6) не существует область видимость в пределах блока, то ввели let, позволяющее объявить переменные с областью видимости – блок.
    Например, if (true) {let y = 4;} console.log(y); // ReferenceError: y is not defined

    Посмотреть текущую поддержку ES6 можно .

Литералы

Литералы — фиксированные значения. К ним относятся такие типы данных как null, Boolean, Number, Object, String.
Например, когда мы объявляем массив, то часть, которая идет после знака равно является литералом массива.

Var food = [‘cheese’,’potates’,’cucumber’];

А food — это переменная.

Числа

Числа записываются как с десятичными знаками, так и без них.

10.50 1001

Для того, чтобы интерпретатор понял, что означает точка – вызов метода или плавающую точку, нам нужно ему подсказать, одним из способов:

1..toString() 1 .toString() // пробел перед точкой (1).toString() 1.0.toString()

Строка (String)

String — текст, написанный с помощью двойных или одинарных кавычек.

"I am string“ "And I am string‘

По-хорошему, вам надо определить какие кавычки использовать и следовать своему выбору во время написания кода.

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

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

Название, которое мы дает переменным, функциями, свойствам называется идентификатором.
Он может содержать только буквенно-цифровые символы, «$» и «_».
Чем идентификатор отличается от String?

String – данные, а идентификатор часть кода.

Var surname = “Smit”;

“Smit” однозначно данные — литерал строки, тогда как surname – хранилище для этого значения.
Обратите внимание, что дефис в идентификаторе не допускается, так как он используется для вычитания.

Выражения

Выражение — комбинация значений, переменных, операторов, которая вычисляет значение.
Например выражение, 3 * 5 вычисляет 15.
Выражение может содержать и переменную
x * 4
Конечно, значения могут быть и строкой.
Например выражение:

"The day" + " is " + "sunny" //вычисляется в строку "The day is sunny".

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

а второй:

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

Var x = 56;

Запятая для выражений

Запятая вычисляет оба операнда и возвращает правое значение.

Var x = 0; var y = (x++, 4); console.log(x); //1 console.log(y); //4

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

Каждая из следующих строк содержит выражение:

X x + 6 changeArray("a","b")

Везде где js ожидает предложение, вы можете также писать и выражения.
Подобное предложение называется инструкция-выражение.

Но вы не можете писать предложение, где js предполагает выражение. Например IF предложение не может стать аргументом функции.

Сравнение предложения и выражения

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

Var result; if (x > 0) { result = "Положительное число"; } else { result = "Отрицательное число"; }

Эквивалентно:

Var result = (x > 0 ? "Положительное число" : "Отрицательное число");

Между знаком = и ; выражение.
Для того, чтобы предотвратить двусмысленность при синтаксическом разборе, JS не позволяет использовать литералы объекта и выражения функций как предложения.

Из этого следует, что предложения-выражения не должны начинаться с:

  • фигурных скобок
  • с ключевого слова function

Если выражение начинается с того либо с другого, то следует его писать в контексте выражения.
Для этого выражение помещается скобки.

Функция-объявление и функция-выражение

Допустим, мы хотим объявить анонимную функцию-выражение, тогда пишем так:

(function(){return "ready!")());

Давайте рассмотрим, чем эта функция будет отличаться от функции-объявления вида

Function getReady() { return "ready!" }

  • Очевидно, что у анонимной нет имени. Но оно вполне может быть, тогда это будет именованная функция-выражение.
  • Функция-объявление создается интерпретатором до выполнения кода, функция-выражение же только по время выполнения.
  • Следовательно функции-выражения не доступны до их объявления.

А если мы запишем так?

GetReady(); var getReady = function(){ return "ready!"; } getReady();

В первой строчке получим ошибку: TypeError: getReady is not a function
Пятая же выведет нам «ready», так как функция была уже объявлена.
Это явление называется всплытием (hoisting), почему оно происходит описано в посте про .

Жесткий диск