TGViewer
YeaHub Tech YeaHub Tech @yeahub_tech · 411 subscribers
Post #27 84
#js #babel #typescript

❓ Как работают классы, наследование и транспиляция в JavaScript ?

В JavaScript классы — это удобный способ структурировать код, но важно понимать, что они реализуются через прототипы, а не традиционное наследование, как в других языках. Прототипы позволяют объектам "наследовать" методы и свойства от других объектов, что является основой ООП в JavaScript.

#️⃣ Прототипы и наследование:
- JavaScript использует цепочку прототипов для наследования. Когда вы создаете объект, он получает прототип — ссылку на другой объект, который содержит общие методы и свойства.
- Чтобы использовать наследование, необходимо изменить прототип дочернего класса. JavaScript не поддерживает наследование, основанное на классах, как, например, Java или C#.

🌀 Транспиляция с Babel:
- Многие современные возможности JavaScript (например, классы и другие новшества ECMAScript 2015) не поддерживаются старыми браузерами.
- Для обеспечения совместимости используется транспиляция. Babel — это популярный инструмент для преобразования современного кода (ES6+) в более старую версию JavaScript (ES5), которая будет работать в любом браузере. Babel преобразует классы в функции-конструкторы и методы — в методы прототипа.

🔤 Типы узлов и абстрактное синтаксическое дерево (AST):
- Когда код проходит через транспиляцию, он преобразуется в абстрактное синтаксическое дерево (AST), где различные элементы кода, такие как литералы, операторы и классы, представляются узлами. Это позволяет трансформировать и оптимизировать код для старых браузеров.

🔤🔤 TypeScript и классы:
- TypeScript — это надстройка над JavaScript, которая добавляет статическую типизацию и улучшает разработку. TypeScript поддерживает наследование и классы, а затем транспилирует их в ES5, чтобы они были совместимы с более старыми браузерами.
- В TypeScript классы сохраняют все преимущества ES6, но компилируются в код, который можно запускать в любом окружении.


🔗 Статья

👉 Новости 👉 Платформа
  • ❤ 2
  • 👍 2
  • 🔥 2
More from @yeahub_tech
  1. Oct 12, 2026🧑‍💻 Сложные вопросы с собесов на Java разработчика 1. Каким образом Spring реализует тра…
  2. Oct 9, 2026#Собес #pipeline #ci #stage 🤔 Что происходит при автоматической сборке feature-ветки на s…
  3. Oct 8, 2026#course #задачи #тесты 📚 JavaScript. A3 Задачи Задачи на программирования на языке JavaSc…
  4. Oct 7, 2026#course #начинающие 📚 Твой Golang Твой Golang — это идеальный старт для освоения языка. П…
  5. Oct 5, 2026🧑‍💻 Вопросы с собесов для Node.js Разработчика 1. Как использовать Service Workers для р…
  6. Oct 2, 2026#Собес #transaction #propagation #required 🤔 Что такое propagation у транзакций и какие т…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →