JavaScript
Единственный язык браузера, который захватил и сервер. Что это, как работает и почему так популярен.
JavaScript
Создан Бренданом Айком в 1995 году за 10 дней
🌐
Браузер
Chrome, Firefox, Safari
⚡
Node.js
Сервер, CLI, скрипты
📱
React Native
iOS и Android
🖥️
Electron
VS Code, Discord, Figma
Что такое JavaScript
Язык, который везде
JavaScript создан в 1995 году Бренданом Айком за 10 дней для браузера Netscape. Сегодня это самый популярный язык в мире (Stack Overflow Survey, 12 лет подряд).
Где работает JS
🌐 Браузер — анимации, кнопки, fetch, всё интерактивное на странице
⚡ Node.js — сервер, CLI, скрипты (тот же язык, другое окружение)
📱 React Native — мобильные приложения iOS/Android
🖥️ Electron — десктоп-приложения (VS Code, Figma, Discord)
☁️ Edge Workers — код на CDN-серверах (Cloudflare Workers)Особенности языка
Динамическая типизация — тип переменной определяется в рантайме:
let x = 42; // число
x = "привет"; // теперь строка — и это ок
x = { name: "JS"}; // теперь объектИнтерпретируемый — код выполняется сразу, без компиляции в бинарник. На самом деле современные движки (V8, SpiderMonkey) компилируют JS в машинный код «на лету» — это называется JIT.
Прототипное наследование — объекты наследуются от объектов, не от классов. Классы в JS — это синтаксический сахар поверх прототипов.
// Всё это — валидный JavaScript
// 1. Переменные
const name = "Мир";
let count = 0;
// 2. Функции (несколько способов объявления)
function greet(who) {
return "Привет, " + who + "!";
}
const greetArrow = (who) => `Привет, ${who}!`;
// 3. Объекты — как словари/хэшмапы
const user = {
name: "Иван",
age: 25,
greet() { return `Я ${this.name}`; }
};
// 4. Асинхронность — всё это JS
setTimeout(() => console.log("через 1 сек"), 1000);
fetch("/api/data")
.then(res => res.json())
.then(data => console.log(data));
async function loadUser(id) {
const res = await fetch(`/api/users/${id}`);
return res.json();
}