Всем привет, надеюсь, вы прочитали первую статью JS Essentials, то есть Syntax Parser. Теперь давайте продолжим и поговорим о нашей следующей концепции под капотом, которая называется Лексическая среда.

Давайте сначала разберемся, что означает слово «лексический»? Лексика - это не что иное, как отношение к словам или лексике языка или грамматики. Лексическая среда - это место, где что-то физически находится в коде, который мы пишем. И эта среда создается за кулисами. Это логистическая концепция, и мы не можем получить к ней доступ из нашего JS-кода. Тогда зачем нам это понимать? Потому что всякий раз, когда мы создаем какую-либо функцию на JS, мы вместе с ней создавали лексическую среду, но мы этого не знали.

Лексическая среда - это место, где что-то физически находится в коде, который мы пишем.

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

 function greet() {
 var msg = “Hello World”;
}

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

Но в языке программирования «лексическая среда» важна, это означает, что то, где мы видим написанное, дает нам представление о том, где оно на самом деле будет находиться в памяти компьютера. И как он будет взаимодействовать с другими переменными, функциями и элементами программы. И это потому, что программа, компилятор, преобразующий наш код в эти инструкции, заботится о том, куда мы помещаем вещи. Он принимает решения, которые принимает синтаксический анализатор, просматривая все.

Поэтому, когда мы говорим о лексической среде чего-либо в коде, мы говорим о том, где это написано и что это окружает. Надеюсь, этот пост поможет понять один из основных терминов JS. Я расскажу о «контексте выполнения» в следующих статьях. Дайте мне знать, если у вас возникнут какие-либо вопросы, в разделе комментариев ниже или на мой личный адрес электронной почты. А пока следите за обновлениями! Спасибо за чтение.