JavaScript® (часто просто JS) — это легкий, интерпретируемый, объектно-ориентированный язык с функциями первого класса. Наиболее широкое применение находит как язык сценариев вэб-страниц, но также используется и в других программных продуктах, например, node.js или Apache CouchDB. JavaScript прототипно-ориентированный, мультипарадигмальный язык с динамической типизацией который поддерживает объектно-ориентированный, императивный и функциональный стили программирования. Подробнее о JavaScript.
Стандартом языка JavaScript является ECMAScript. Все современные браузеры полностью поддерживают ECMAScript 5.1. Старые версии браузеров поддерживают по крайней мере - ECMAScript 3. 17 июня 2015 года состоялся выпуск шестой версии ECMAScript. Эта версия официально называется ECMAScript 2015, которую чаще всего называют ECMAScript 6 или просто ES6.
Эта часть сайта посвящена самому языку JavaScript, и она не затрагивает тонкостей, связанных с веб-страницами или окружением, в котором исполняется JavaScript. Информация об API, относящихся к веб-страницам, находится в разделах, посвященных Web APIs и DOM.
Не следует путать JavaScript c языком программирования Java. Java является торговой маркой или зарегистрированной торговой маркой корпорации Oracle в США и других странах.
Учебники
Научитесь программировать на JavaScript вместе с нами.
Введение
- Руководство по JavaScript
- Если вы новичок в JavaScript, то данное руководство поможет вам ознакомиться с возможностями языка.
- Обзор технологий JavaScript
- Введение в JavaScript для веб-браузеров.
- Введение в объектно-ориентированный JavaScript
- Введение в концепции объектно-ориентированного программирования на JavaScript.
Средний уровень
- Повторное введение в JavaScript
- Обзор для тех, кто думает, что знает JavaScript.
- Структура данных
- Обзор существующих структур данных в JavaScript.
- Операторы сравнения и тождественности
- JavaScript предоставляет три различных оператора сравнения значений: строгое равенство
===, с приведением типов==и метод Object.is доступный в (ECMAScript6).
Продвинутый уровень
- Наследование и цепочка прототипов
- Статья разъясняет бытующие заблуждения и недооцененность наследования, основанного на прототипах.
- Строгий режим или "use strict"
- Строгий режим в JavaScript.
- Типизированные массивы
- Типизированные массивы предоставляют механизм для работы с необработанными двоичными данными.
- Управление памятью
- Жизненный цикл памяти и сборка мусора в JavaScript.
Другие статьи
- Обучение canvas
- <canvas> - это элемент HTML5 предназначенный для создания растрового двухмерного изображения при помощи скриптов, например, для рисования графиков, создания фото-композиций или анимации.
- Ресурсы по JavaScript
- Стандарты языка ECMAScript, лежащего в основе JavaScript.
- Документы, описывающие стандарты Internet Explorer
- Microsoft публикует документы, которые содержат информацию о том, как Internet Explorer поддерживает или трактует те или иные окончательно принятые стандарты семантики веб. Далее даны ссылки на документы, которые так или иначе относятся к JavaScript:
- [MS-ES3]: Internet Explorer ECMA-262 ECMAScript Language Specification Standards Support Document
- [MS-ES3EX]: Microsoft JScript Extensions to the ECMAScript Language Specification Third Edition
- [MS-ES5]: Internet Explorer ECMA-262 ECMAScript Language Specification (Fifth Edition) Standards Support Document
- [MS-ES5EX]: Internet Explorer Extensions to the ECMA-262 ECMAScript Language Specification (Fifth Edition)
Справочник
Подробный справочник по JavaScript.
- Стандартные встроенные объекты
- Описание встроенных объектов JavaScript, методы и свойства встроенных объектов.
- Выражения и операторы
- Выражения, операторы и ключевые слова в JavaScript.
- Инструкции и объявления
- Описание управляющих конструкций, объявлений и других инструкций JavaScript.
- Функции
- Определение функций, методов, их параметры и многое другое.
Инструменты и дополнительные ресурсы
- Code School - Изучайте JS на практике. Содержит множество курсов JS.
- Idiomatic.js - Принципы написания последовательного, идеоматического JavaScript.
- Управление памятью в JavaScript - Обзор управления памятью в JavaScript.
- Firebug - средства отладки и профилирования JavaScript.
- Venkman - отладчик JavaScript.
- JavaScript Shells - тестируйте код в шелле.
- JSLint - средство проверки синтаксиса.
- JSHint - средство проверки синтаксиса, разработанное сообществом.
- JSDoc - генератор документации из кода.
- Aptana Studio - Открытая среда разработки с поддержкой Ajax и JS (основана на Eclipse).
- Netbeans - Открытая среда разработки с очень хорошей поддержкой JS.
- Eclipse - Открытая среда разработки включающая в себя инстументы разработки на JS.
- Cloud9 IDE - Открытая онлайн среда разработки JS с поддержкой Node.js.
- Pretty Diff - инструмент diff для сравнения упакованного кода по сравнению с обычным.
- Extension Developer's Extension - разнообразные расширения разработчика.
- BoilerplateJS - Библиотека для интеграции JS кода.
- И другие инструменты JavaScript
Другие Источники
- JavaScript Garden
- Ресурс с дополнительной информацией. Здесь можно узнать многие тонкости JS.
- JSWiki
- Основанная на github вики, в которой указано множество существующих библиотек и ресурсов, посвященных JavaScript
- Stack Overflow
- Вебсайт типа Q&A (Вопрос/Ответ), где можно поискать ответ на ваш вопрос, и если его нет, то задать вопрос самому.
- javascript.ru
- Русскоязычный ресурс, посвященный языку JavaScript. Там же можно найти перевод ECMA стандарта.
Присоединись к сообществу JavaScript
- IRC: #js (Узнай больше)
- ES discuss: esdiscuss.org
- SpiderMonkey: Project page
- Twitter: @FirefoxNightly

