Структура языка JavaScript. Комментарии, литералы, идентификаторы, инструкции

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

Структура языка JavaScript

» » Сообщение:

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

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

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

Набор символов

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

Код: Выделить всё Развернуть
var xé = "café";
var число = 123;
var λ = "öö";
var something = "öö" === '\xF6\u00F6';
 
document.write(xé + "<br>" + число + "<br>" + λ + "<br>" + something);

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

Язык JavaScript чувствителен к регистру символов. Это значит, что ключевые слова, имена переменных, функций и любые другие идентификаторы используемые в программе всегда должны содержать одинаковый набор прописных и строчных букв.
Например, ключевое слово switch должно быть написано как switch, а не Switch или SWITCH, так же и имена переменных myVar, MYVAR или MyVar - будут считаться, как имена трех различных переменных.

Код: Выделить всё Развернуть
<script>
  var num = 2;
  var Num = 4;
 
  document.write("num: " + num + "<br> Num: " + Num);
</script>

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

Между лексемами могут вставляться разделители, в качестве которых используются пробельные символы: пробелы, табуляция и переносы строк. Число пробельных символов не ограничивается и зависит от предпочтений программиста, основная цель которого - создать наглядный и легко читаемый текст программы (исходный код). Интерпретатор игнорирует пробельные символы и воспринимает текст как сплошной поток символов, для него важно лишь определить границы между лексемами, поэтому позиционирование инструкций и других лексем может быть произвольным.

В примере представлен JavaScript-код, в котором используются пробельные символы:

Код: Выделить всё Развернуть
<script>
  function starLine() {
    for(var i = 0; i < 45; i++) {
       document.write("*");
    }
  }
</script>

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

Код: Выделить всё Развернуть
<script>
function starLine(){for(var i=0;i<45;i++){document.write("*");}}
</script>

Комментарии

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

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

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

Пример:

Код: Выделить всё Развернуть
<script>
// это однострочный комментарий
 
/* Это многострочный комментарий */
 
/*
* Это еще один многострочный комментарий.
* Он расположен на нескольких строках
* и может содержать различные символы.
* Звездочки слева вставлены для красоты.
*/
</script>

Литералы

Литерал (константа) - запись в исходном коде программы, представляющая собой обычное фиксированное значение. Литералы представляют собой константы, непосредственно включаемые в текст программы, в отличие от прочих данных - констант и переменных, обращение к которым осуществляется посредством ссылок. Литералы не могут быть изменены в тексте программы. В следующем примере 14 и "Кит" это литералы, а num и fish - переменные:

Код: Выделить всё Развернуть
var num = 14;
var fish = "Кит";

Представление каждого литерала зависит от конкретного типа данных: числовые, строковые, логические (булевы) и т.д. Ниже представлены литералы простых типов

Код: Выделить всё Развернуть
9         // число девять
17.3      // число с плавающей точкой
"текст"   // строка текста
'h3'      // другая строка
true      // логическое значение (булево)
null      // пустой объект
undefined // неопределённое значение

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

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

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

Примеры допустимых идентификаторов:

Код: Выделить всё Развернуть
x
my_var
_myCar2
$cash

Для удобства чтения и редактирования сценария, давайте идентификаторам имена, которые будут соответствовать хранящимся в них данных. Рассмотрим небольшой пример:

Код: Выделить всё Развернуть
var age = 30;            // возраст
var hairColor = "black"; // цвет волос
var year = 1900;         // год

В JavaScript наиболее популярным стандартом именования идентификаторов состоящих из нескольких слов является camelСase - "Верблюжья" нотация (нотация - это устоявшиеся правила записи). Согласно этому стандарту идентификаторы, которые состоят из одного слова, пишутся строчными буквами:

Код: Выделить всё Развернуть
var color = "black";
var number = 7;

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

Код: Выделить всё Развернуть
var myAge = 10;
var firstName = "Bilbo";

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

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

Стандарт ECMA-262 определяет набор ключевых слов (keywords), имеющих особое значение для интерпретатора. Ключевые слова нельзя использовать в качестве идентификаторов. В таблице ниже представлен полный список ключевых слов:

break delete function return typeof
case do if switch var
catch else in this void
continue false instanceof throw while
debugger finally new true with
default for null try

Кроме того ECMA-262 содержит набор зарезервированных слов (reserved words), которые также нельзя использовать в качестве идентификаторов. Эти слова в настоящее время не являются частью языка, но могут войти в его состав в будущих версиях языка:

class const enum export extends import super

В строгом режиме (strict mode) также запрещается использовать в качестве идентификаторов следующие зарезервированные слова:

implements let private public yield
interface package protected static

В строгом режиме также вводится ограничение на использование в качестве идентификаторов следующих слов:

arguments eval

Инструкции

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

Код: Выделить всё Развернуть
// инструкция объявления и инициализации переменной
var myNumber = 12;

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

Код: Выделить всё Развернуть
var myNumber = 12
var myNumber2 = 14

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

Код: Выделить всё Развернуть
var myNumber = 12;var myNumber2 = 14;

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

Код: Выделить всё Развернуть
var myNumber = 12;
var myNumber2 = 14;

Это поможет сделать ваш код более читабельным и возможно избежать в дальнейшем непредвиденных ошибок во время исполнения программы.

лексема, unicode, switch, структура языка, зарезервированные слова, комментарии, литералы, регистр символов, лексическая структура, javascript, идентификаторы, инструкции



Похожие темыКомментарии ПросмотрыПоследнее сообщение
0649JavaScript. Логические операторы и ...
Сообщение от: Admin
02232Предпросмотр картинки перед загрузк...
Сообщение от: Admin
21407Re: Закладки пользователя для сайта...
Сообщение от: Admin
078Вывод страницы на печать, версия дл...
Сообщение от: likbezz
151432Re: Рейтинг материалов +/- (плюс/ми...
Сообщение от: kinouser