Что такое компиляция и транспиляция? Flashcards

1
Q

Что такое компиляция и транспиляция?

A

Что такое компиляция и транспиляция?

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

Транспиляция – это процесс преобразования кода на одном языке программирования в код на том же языке программирования, но с использованием другого набора функций и методов в целях повышения совместимости программы с определенной платформой. Транспиляция на JavaScript – это процесс преобразования кода на другом языке программирования (например, TypeScript, ES6, CoffeeScript) в код на JavaScript для исполнения в браузере.
______________________________________________________________________________________
Зачем нужна компиляция и транспиляция в JavaScript?

Компиляция JavaScript – это процесс, который позволяет оптимизировать производительность веб-приложений. Например, браузер может скомпилировать код JavaScript только один раз, а затем использовать скомпилированный код для всех последующих вызовов функции. Это существенно уменьшает время обработки кода на клиентской стороне и ускоряет работу приложения.

Транспиляция JavaScript – это процесс, который позволяет использовать новые функции языка программирования, которые могут быть не поддержаны браузером. Например, ES6 – это новая версия языка JavaScript, которая содержит множество улучшений, например, стрелочные функции, блочные переменные let и const и многое другое. Также существуют другие языки программирования, такие как TypeScript, Flow и CoffeeScript, которые имеют улучшенный синтаксис и дополнительные функции.
______________________________________________________________________________________
Как работает компиляция JavaScript?

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

Токенизация

Этот этап состоит в превращении текста программы в набор лексем (токенов), которые в свою очередь представляют отдельные элементы синтаксиса языка, например переменные, числа, операторы, скобки и т.п.

Парсинг

На этом этапе, токенизированный код преобразуется в дерево синтаксического анализа, которое является структурированным представлением логических элементов программы. В процессе парсинга, браузер выполняет проверку синтаксиса кода и определяет, валиден ли код или нет.

Генерация байт-кода

После токенизации и парсинга, браузер генерирует байт-код, который представляет собой последовательность инструкций. Байт-код исполняется виртуальной машиной JavaScript на слое производства браузера.

Исполнение кода

Последний этап компиляции – это исполнение байт-кода в браузере. Когда программа запускается, байт-код интерпретируется виртуальной машиной, и программа начинает исполняться.
______________________________________________________________________________________
Как работает транспиляция JavaScript?

Транспиляция JavaScript происходит на этапе написания кода. Транспилировщик преобразует код на языке программирования в код на JavaScript, который можно использовать в браузере.

Примером может служить TypeScript. TypeScript – это язык программирования, который является суперсетом JavaScript и добавляет в него строгую типизацию, объектно-ориентированный программный интерфейс и другие улучшения. TypeScript код компилируется в JavaScript-код, что позволяет использовать TypeScript для написания программ, которые можно исполнять в браузере.

Также существует транспилятор Babel, который преобразует современный JavaScript-код в код, который может быть выполняемым в старых браузерах. Babel позволяет использовать синтаксис ES6 и другие функции языка JavaScript в проектах, которые должны поддерживаться старыми браузерами.
______________________________________________________________________________________
Вывод

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly