Лексическая структура JavaScript

Статья
Лексическая структура языка JavaScript
Лексическая структура языка JavaScript

Лексика — это словарный состав какого-либо языка.

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

Термины и определения лексической структуры языка JavaScript:

Лексема (токен) — это минимальная часть языка, имеющая самостоятельный смысл. В JavaScript к лексемам относятся: разделители, идентификаторы, литералы, операции, операторы и т.д. Лексемы располагаются между разделителями (пробелами, табуляцией или переносом строки). Интерпретатор разделяет код программы на лексемы и затем собирает из них осмысленные конструкции. Примеры лексем:

var myLexeme; // тут 4 лексемы (var, пробел, myLexeme, точка с запятой)
myLexeme = "строка"; // тут 6 лексем

Идентификатор — это уникальное имя переменной, константы, пользовательской функции, объекта, массива, ключевых и зарезервированных слов, меток и т.д. Примеры идентификаторов:

var myIdentifier; // тут два идентификатора (var и myIdentifier)
function myIdentifier() { } // тут два идентификатора

Литерал — это значение переменной заданное программистом, оно может быть числом, строкой, логическим значением (true/false), регулярным выражением (для поиска по шаблону) и т.д. Значение созданное программой, литералом не является. Примеры литералов:

var myLiteral;
myLiteral = "строка";
myLiteral = число;
myLiteral = true;

Операнд — это левая или правая часть операции. Примеры операндов:

var myOperand;
myOperand = 8 + 2; // здесь в качестве операндов выступают myOperand, 8 и 2

Здесь в качестве операций выступают: + и =, в качестве выражений: 8 + 2 и myOperand = 10, в качестве строки кода (инструкции): myOperand = 8 + 2;

Операция — это специальные знаки которые манипулируют операндами, например: плюс +, минус -, больше <, меньше > и т.д. Примеры операций:

var myOperator;
myOperator = 7 + 3; // здесь в качестве операций выступают = и +

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

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

5 + 7 // + операция, 5 и 7 операнды
(6 - 2) * 5 // - и * операции, (6 - 2) и 5 операнды

Строка кода (команда, инструкция), указывает совершить какое либо действие, оканчивается точкой с запятой. Пример инструкции x = y + z; Разница между инструкцией и выражением, состоит в том, что выражение вычисляет, но ничего не делает, не изменяет программу, а строка кода изменяет.

Оператор — под операторами обычно имеют ввиду операторы ветвления: if, else, switch, операторы циклов: for, while, do while. Оператор ветвления также еще назвают: условной инструкцией, условным оператором, условной конструкцией.

Ключевое слово — это часть синтаксиса ядра языка, так называемый предопределённый идентификатор. Его нельзя использовать в качестве имени идентификатора. Примеры ключевых слов: break, delete, function, if и т.д.

Зарезервированное слово — это часть синтаксиса ядра языка, которое планируется использовать в будущем, использовать их в качестве идентификатора не рекомендуется. Примеры зарезервированных слов: const, import, int, long и т.д.

Дополнительный материал

Объявление переменной — это создание переменной.

Инициализация переменной — это присваивание переменной какого-либо значения.

Тип данных — это значение присваиваемой переменной, может быть числом, строкой, булевым выражением (true, false) и т.д.

NaN — Not a Number (не число), значение (тип данных) не являющееся числом. NaN появляется, когда в вычислениях появляется ошибка связанная с тем, что один из операндов арифметической операции не имеет числового типа данных. Пример:

var myVariable = "Строка";
alert(5 * myVariable); // выведет NaN

undefined (неопределённая) — состояние не инициализированной переменной. Появляется когда в сценарии участвует переменная которой не присвоили значения. Пример:

var myVariable;
alert(myVariable); // выведет undefined

Переменная объявлена, но не инициализирована, значение у неё undefined. В логическом контексте undefined принимает значение false, в числовом NaN, в строковом "undefined"

null — это значение которое не имеет типа данных. Например null может появится, при нажатии в модальном окне на кнопку «Отмена», данное окно вызывается с помощью функции promt();. В логическом контексте, nul принимает значение false, в числовом 0, в строковом "null"

Конкатенация — это операция соединения строк, в качестве операции выступает знак плюс +. Для того чтобы произошла операция конкатенации, нужно чтобы один или два операнда имели тип данных string. Пример:

alert("5" + 3);

Данная функция выведет «53», а не 8, поскольку один из операндов имеет тип данных, строка.

Интерпретатор — это специальная программа, которая понимает код языка и выполняет его команды.

Читать далее: Части языка JavaScript


Дата публикации поста: 5 февраля 2016
Дата обновления поста: 16 октября 2014
Бесплатный хостинг от компании Бегет, для начинающих: beget.com/ru/hosting/free

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *