Эта часть раздела MDN по JavaScript служит хранилищем фактов о языке JavaScript. Более подробную информацию об этом справочнике можно получить здесь.
Глобальные объекты
Эта глава описывает все стандартные встроенные объекты JavaScript вместе с их методами и свойствами.
Значения
Глобальные свойства, возвращающие простое значение.
Функции
Глобальные функции, возвращающие результат определённой подпрограммы.
eval()uneval()isFinite()isNaN()parseFloat()parseInt()decodeURI()decodeURIComponent()encodeURI()encodeURIComponent()escape()unescape()
Фундаментальные объекты
Общие языковые объекты, функции и ошибки.
ObjectFunctionBooleanSymbolErrorEvalErrorInternalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIError
Числа и даты
Объекты, имеющие дело с числами, датами и математическими вычислениями.
Обработка текста
Объекты для манипулирования текстом.
Индексированные коллекции
Коллекции, упорядоченные по индексам. Массивоподобные объекты.
ArrayInt8ArrayUint8ArrayUint8ClampedArrayInt16ArrayUint16ArrayInt32ArrayUint32ArrayFloat32ArrayFloat64Array
Коллекции по ключу
Коллекции объектов по ключу. Элементы обходятся в порядке вставки.
Структурированные данные
Буферы данных и Объектная нотация JavaScript (JavaScript Object Notation).
Объекты управляющих абстракций
Рефлексия
Интернационализация
Дополнения к ядру ECMAScript, отвечающие за функциональность, чувствительную к языку.
Нестандартные объекты
Прочее
Инструкции
Эта глава описывает все инструкции и объявления JavaScript.
Алфавитный список смотрите в боковой панели слева.
Управление потоком выполнения
- Блок
 - Блок используется для группировки нуля и более инструкций. Блок отделяется парой фигурных скобок.
 - 
  
break - Прерывает текущую инструкцию цикла, ветвления или инструкцию с меткой и передаёт управление на инструкцию, следующую за прерываемой.
 - 
  
continue - Прерывает выполнение инструкции в текущей итерации текущего цикла или цикла с меткой и продолжает выполнение цикла со следующей итерации.
 - Пустая инструкция
 - Пустая инструкция используется тогда, когда никакой инструкции быть не должно, а по синтаксису JavaScript она требуется.
 - 
  
if...else - Выполняет инструкцию, если указанное условие является истинным. Если условие ложно, выполняет другую инструкцию.
 - 
  
switch - Вычисляет выражение, сопоставляет вычисленное значение с выражением выбора и выполняет инструкции, ассоциированные с этим выбором.
 - 
  
throw - Выбрасывает пользовательское исключение.
 - 
  
try...catch - Помечает блок инструкций и определяет реакцию на возникновение исключения внутри помеченного блока инструкций.
 
Объявления
- 
  
var - Объявляет переменную, необязательно инициализирует её значением.
 - 
    
let - Объявляет локальную переменную в области видимости блока, необязательно инициализирует её значением.
 - 
    
const - Объявляет именованную константу только для чтения.
 
Функции
- 
  
function - Объявляет функцию с указанными параметрами.
 - 
    
function* - Функции-генераторы, упрощающие написание итераторов.
 - 
  
return - Определяет значение, возвращаемое из функции.
 - 
    
yield - Смотрите статьи Что нового в JavaScript 1.7 и Итераторы и генераторы.
 
Итерации
- 
  
do...while - 
  Создаёт цикл, выполняющий указанную инструкцию до тех пор, пока проверяющее условие равно 
false. Условие вычисляется после выполнения инструкции, так что указанная инструкция выполнится хотя бы один раз. - 
  
for - Создаёт цикл, состоящий из трёх необязательных выражений, заключённых в круглые скобки и разделённым точками с запятой с последующей инструкцией, выполняющейся в цикле.
 - 
      
for each...in - Проходит указанной переменной по всем значениям свойств объекта. Выполняет инструкции для каждого уникального свойства.
 - 
  
for...in - В случайном порядке проходит по перечислимым свойствам объекта. Выполняет инструкции для каждого уникального свойства.
 - 
    
for...of - Проходит по итерируемым объектам (включающим в себя массивы, массивоподобные объекты и итераторы с генераторами), выполняя пользовательский хук с инструкциями, исполняющимися для значения каждого уникального свойства.
 - 
  
while - 
  Создаёт цикл, выполняющий указанную инструкцию до тех пор, пока проверяющее условие равно 
true. Условие вычисляется перед выполнением инструкции.. 
Прочее
- 
  
debugger - Вызывает любую доступную функциональность отладки. Если функциональность отладки не доступна, эта инструкция ничего не делает.
 - 
    
export - Используется для экспорта подписанным скриптом свойств, функций и объектов в другие подписанные или неподписанные скрипты. Эта древняя функциональность Netscape была удалена и будет пересмотрена модулями ECMAScript 6.
 - 
    
import - Используется для импорта скриптом свойств, функций и объектов из подписанного скрипта, который предоставил эту информацию. Эта древняя функциональность Netscape была удалена и будет пересмотрена модулями ECMAScript 6.
 - 
  
label - 
  Предоставляет инструкцию с идентификатором, на который вы можете сослаться с помощью инструкций 
breakилиcontinue. - 
    
with - Расширяет цепочку областей видимости инструкции.
 
Выражения и операторы
Эта глава описывает все выражения и операторы JavaScript.
Алфавитный список смотрите в боковой панели слева.
Первичные выражения
Базовые ключевые слова и общие выражения в JavaScript.
- 
  
this - 
  Ключевое слово 
thisссылается на контекст выполнения функции. - 
  
function - 
  Ключевое слово 
functionопределяет выражение функции. - 
  
[] - Синтаксис создания литерала массива.
 - 
  
{} - Синтаксис создания литерала объекта.
 - 
  
/ab+c/i - Синтаксис создания литерала регулярного выражения.
 - 
    
[for (x of y) x] - Выражение заполнения массива.
 - 
    
(for (x of y) y) - Выражение-генератор.
 - 
  
( ) - Оператор группировки.
 
Левосторонние выражения
Значения слева являются назначением присваивания.
- Доступ к свойству
 - 
  Операторы доступа к членам предоставляют доступ к свойству или методу объекта
(object.propertyиobject['property']). - 
  
new - 
  Оператор 
newсоздаёт экземпляр конструктора. - 
    
super - 
  Ключевое слово 
superвызывает родительский конструктор. - 
    
...obj - Оператор распространения позволяет развернуть выражение в местах, где ожидается несколько аргументов (при вызове функций) или несколько элементов (при создании литералов массива).
 
Инкремент и декремент
Операторы постфиксного / префиксного инкремента и декремента.
- 
  
A++ - Оператор постфиксного инкремента.
 - 
  
A-- - Оператор постфиксного декремента.
 - 
  
++A - Оператор префиксного инкремента.
 - 
  
--A - Оператор префиксного декремента.
 
Унарные операторы
Унарные опарации — это операции с одним операндом.
- 
  
delete - 
  Оператор 
deleteудаляет свойство из объекта. - 
  
void - 
  Оператор 
voidотбрасывает возвращаемое значение выражения. - 
  
typeof - 
  Оператор 
typeofопределяет тип переданного объекта. - 
  
+ - 
  Оператор унарного плюса преобразует свой операнд в тип 
Number. - 
  
- - 
  Оператор унарного минуса преобразует свой операнд в тип 
Number, а затем меняет его знак. - 
  
~ - Оператор побитового НЕ.
 - 
  
! - Оператор логического НЕ.
 
Арифметические операторы
Арифметические операторы своими операндами принимают числовые значения (литерали или переменные) и возвращают одно числовое значение.
- 
  
+ - Оператор сложения.
 - 
  
- - Оператор вычитания.
 - 
  
/ - Оператор деления.
 - 
  
* - Оператор умножения.
 - 
  
% - Оператор взятия остатка от деления.
 
Операторы отношения
Операторы отношения сравнивают свои операнды и возвращают значение типа Boolean, зависящее от того, был ли результат сравнения истинным или ложным.
- 
  
in - 
  Оператор 
inопределяет, содержит ли объект указанное свойство. - 
  
instanceof - 
  Оператор 
instanceofопределяет, является ли объект экземпляром другого объекта. - 
  
< - Оператор меньше.
 - 
  
> - Оператор больше.
 - 
  
<= - Оператор меньше или равно.
 - 
  
>= - Оператор больше или равно.
 
Операторы равенства
Результат вычисления оператора равенства всегда имеет тип Boolean и значение, зависящее от того, был ли результат проверки истинным или ложным.
- 
  
== - Оператор проверки на равенство.
 - 
  
!= - Оператор проверки на неравенство.
 - 
  
=== - Оператор проверки на идентичность.
 - 
  
!== - Оператор проверки на неидентичность.
 
Операторы побитового сдвига
Операции для сдвига всех битов операнда.
- 
  
<< - Оператор побитового сдвига влево.
 - 
  
>> - Оператор знакового побитового сдвига вправо.
 - 
  
>>> - Оператор беззнакового побитового сдвига вправо.
 
Бинарные побитовые операторы
Побитовые операторы трактуют свои операнды как набор из 32 битов (нулей и единиц) и возвращают стандартные числовые значения JavaScript.
Бинарные логические операторы
Логические операторы обычно используются вместе с булевыми (логическими) значениями и в сочетании с ними они возвращают булево значение.
Условный (тернарный) оператор
- 
  
(условие ? ifTrue : ifFalse) - Условный оператор возвращает одно значение из двух данных в зависимости от логического значения условия.
 
Операторы присваивания
Операторы присваивания присваивают значение своему левому операнду, зависящее от значения их правого операнда.
- 
  
= - Оператор присваивания.
 - 
  
*= - Оператор присваивания с умножением.
 - 
  
/= - Оператор присваивания с делением.
 - 
  
%= - Оператор присваивания с взятием остатка от деления.
 - 
  
+= - Оператор присваивания со сложением.
 - 
  
-= - Оператор присваивания с вычитанием.
 - 
  
<<= - Оператор присваивания со сдвигом влево.
 - 
  
>>= - Оператор присваивания со знаковым сдвигом вправо.
 - 
  
>>>= - Оператор присваивания с беззнаковым сдвигом вправо.
 - 
  
&= - Оператор присваивания с логическим И.
 - 
  
^= - Оператор присваивания с логическим ИСКЛЮЧАЮЩИМ ИЛИ.
 - 
  
|= - Оператор присваивания с логическим ИЛИ.
 - 
    
[a, b] = [1, 2]
{a, b} = {a:1, b:2} - Реструктуризующее присваивание позволяет вам присваивать свойства массива или объекта переменным с использованием синтаксиса, очень похожего на объявление литералов массива или объекта.
 
Оператор запятая
- 
  
, - Оператор запятая позволяет вычислять несколько выражений в одном операторе в возвращает результат вычисления последнего выражения.
 
Функции
Эта глава описывает, как работать с функциями JavaScript для разработки ваших приложений.
