Пошук уроків, статей та іншого контенту
Звідки з'явився JavaScript, чим він відрізняється від Java та які задачі вирішує сьогодні.
JavaScript створили за 10 днів у 1995 році для браузера Netscape Navigator — з єдиною метою: дати веб-сторінкам можливість реагувати на дії користувача без перезавантаження. Сьогодні та сама мова працює на серверах (Node.js), у мобільних застосунках (React Native) і навіть на мікроконтролерах.
JavaScript і Java — це дві абсолютно різні мови. Спільна частина назви — маркетинговий хід 1995 року, коли Java була на піку популярності. Синтаксис схожий на C-подібні мови, але на цьому спільне закінчується.
Динамічна типізація — тип змінної визначається під час виконання, а не оголошується заздалегідь.
Функції першого класу — функцію можна передати як аргумент, повернути з іншої функції, зберегти у змінній.
Прототипне наслідування — на відміну від класичних класів (Java, C#), об'єкти успадковують напряму від інших об'єктів.
Однопотоковість з асинхронною моделлю виконання — детальніше про це в модулі «Асинхронний JavaScript».
У браузері — інтерактивність сторінок, SPA-застосунки (React, Vue, Angular).
На сервері — Node.js дозволяє писати backend тією ж мовою, що й frontend.
У мобільних застосунках — React Native, Ionic.
У desktop-застосунках — Electron (VS Code, Slack, Discord написані саме так).
Сам JavaScript — це реалізація стандарту ECMAScript (ES). Комітет TC39 щороку випускає нову версію стандарту — звідси назви на кшталт ES2015 (ES6), ES2020 тощо. Нові можливості мови (наприклад, optional chaining чи async/await) — це результат цього процесу.
Плутанина JavaScript із Java через схожу назву — насправді це дві не пов'язані одна з одною мови (див. вище).
Сприйняття JavaScript як мови «лише для кнопочок на сторінці» — сучасний JS однаково впевнено працює на сервері, у мобільних і desktop-застосунках.
Ігнорування того, що JavaScript постійно розвивається (ECMAScript) — код, написаний за порадами 5-річної давнини, часто використовує застарілі підходи, яким уже є коротший, безпечніший сучасний еквівалент.
JavaScript — динамічно типізована мова з функціями першого класу й прототипним успадкуванням, що виконується не лише в браузері, а й на сервері, в мобільних і desktop-застосунках. Стандарт мови (ECMAScript) оновлюється щороку, тому «сучасний JavaScript» — рухома ціль, а не фіксований набір правил. Наступні уроки цього модуля покажуть, як саме браузер виконує цей код і якими інструментами користуються розробники для роботи з ним щодня.
Спробуйте самостійно
Відкрийте консоль розробника в браузері (F12) і виконайте console.log(typeof "hello"). Це перший крок до наступного уроку — інструментів розробника.