JavaScript® (часто просто JS) — это легкий, интерпретируемый или JIT-компилируемый, объектно-ориентированный язык с функциями первого класса. Наиболее широкое применение находит как язык сценариев веб-страниц, но также используется и в других программных продуктах, например, node.js или Apache CouchDB. JavaScript это прототипно-ориентированный, мультипарадигменный язык с динамической типизацией, который поддерживает объектно-ориентированный, императивный и декларативный (например, функциональное программирование) стили программирования. Подробнее о JavaScript.

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

Стандартом языка JavaScript является ECMAScript. По состоянию на 2012, все современные браузеры полностью поддерживают ECMAScript 5.1. Старые версии браузеров поддерживают по крайней мере - ECMAScript 3. 17 июня 2015 года состоялся выпуск шестой версии ECMAScript. Эта версия официально называется ECMAScript 2015, которую чаще всего называют ECMAScript 2015 или просто ES2015. С недавнего времени стандарты ECMAScript выпускаются ежегодно. Эта документация относится к последней версии черновика, которой является ECMAScript 2018.

Не следует путать JavaScript c языком программирования Java. И "Java", и "JavaScript" являются торговыми марками или зарегистрированными торговыми марками Oracle в США и других странах. Однако, у обоих языков различный синтаксис, семантика и применение.

Учебные материалы

Научитесь программировать на JavaScript вместе с нами.

Для абсолютных новичков

Загляните в наш Учебный План, если вам хочется изучить JavaScript, но у вас нет опыта в JavaScript или программировании.  Доступные разделы: 

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

Руководство по JavaScript

Руководство по JavaScript
Более подробное руководство по языку программирования JavaScript, нацеленное на тех, кто уже имеет опыт программирования в JavaScript или любом другом языке.

Средний уровень

Повторное введение в JavaScript
Обзор для тех, кто думает, что знает JavaScript.
Структуры данных JavaScript
Обзор существующих структур данных в JavaScript.
Операторы сравнения и тождественности
JavaScript предоставляет три различных оператора сравнения значений: строгое равенство ===, с приведением типов == и метод Object.is().

Продвинутый уровень

Наследование и цепочка прототипов
Статья разъясняет бытующие заблуждения и недооцененность наследования, основанного на прототипах.
Строгий режим или "use strict"
Строгий режим говорит, что вы не можете использовать какую-либо переменную до её объявления. Это ограниченный вариант ECMAScript 5, для более быстрой производительности и простой отладки.
Типизированные массивы
Типизированные массивы предоставляют механизм для работы с необработанными двоичными данными в JavaScript.
Управление памятью
Жизненный цикл памяти и сборка мусора в JavaScript.
Модель параллелизма (мультипоточности) и цикл событий
В JavaScript есть модель параллелизма, основанная на "цикле событий".

Справочник

Подробный справочник по JavaScript.

Стандартные встроенные объекты
Узнайте о стандартных встроенных объектах Array, Boolean, Date, Error, Function, JSON, Math, Number, Object, RegExp, String, Map, Set, WeakMap , WeakSet и других.
Выражения и операторы
Узнайте о поведении таких операторов в JavaScript, как instanceof, typeof, new, this, приоритете операторов и многом другом.
Инструкции и объявления
Узнайте о do-while, for-in, for-of, try-catch, let, var, const, if-else, switch и многих других выражениях и ключевых словах в JavaScript.
Функции
Узнайте, как работать с функциями в JavaScript, чтобы разрабатывать свои приложения.

Инструменты и дополнительные ресурсы

Полезные инструменты для написания и отладки вашего JavaScript кода.

Инструменты разработчика Firefox
Простой редактор JavaScript, Веб-консоль, JavaScript Профайлер, Отладчик и другие.
Firebug
Редактируйте, отлаживайте и проверяйте CSS, HTML и JavaScript вживую на любой странице.
JavaScript шеллы
JavaScript шеллы позволяют быстро проверять фрагменты JavaScript кода.
TogetherJS
Объединение усилий стало проще.
Stack Overflow
Вопросы по JavaScript на Stack Overflow.
Версии JavaScript и информация о релизах
Просмотрите историю возможностей JavaScript и их статус.
JSFiddle
Редактируйте JavaScript, CSS, HTML и получайте живые результаты. Используйте экспериментальные ресурсы и взаимодействуйте с вашей командой онлайн.

Присоединяйтесь к сообществу JavaScript

Выберите удобный способ для общения:

Метки документа и участники

 Обновлялась последний раз: drxwat,