JavaScript® (часто просто JS) — это легкий, интерпретируемый, объектно-ориентированный язык с функциями первого класса. Наиболее широкое применение находит как язык сценариев веб-страниц, но также используется и в других программных продуктах, например, 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 6 или просто ES6. С недавнего времени стандарты ECMAScript выпускаются ежегодно. Эта документация относится к последней версии черновика, которой является ECMAScript 2017.
Не следует путать JavaScript c языком программирования Java. И "Java", и "JavaScript" являются торговыми марками или зарегистрированными торговыми марками Oracle в США и других странах. Однако, у обоих языков различный синтаксис, семантика и применение.
Учебники
Научитесь программировать на 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
- IRC: #js (Узнать больше)
- ES discuss: esdiscuss.org
- SpiderMonkey: Страница проекта
- Твиттер: @SpiderMonkeyJS