Эта часть раздела 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определяет выражение функции. class- Ключевое слово
classопределяет выражение класса. function*- Ключевое слово
function*(со звёздочкой) определяет функцию-генератор. yield- Пауза или продолжение выполнения функции-генератора.
yield*- Делегирует выполнение другому генератору итерируемому объекту.
-
async function* async functionопределяет выражение асинхронной функции.-
await - Пауза и продолжение выполнения асинхронной функции и ожидание Promise (результата выполнения) с результатом разрешено/отклонено.
[]- Синтаксис создания инициализатора/литерала массива.
{}- Синтаксис создания инициализатора/литерала объекта
/ab+c/i- Синтаксис создания литерала регулярного выражения.
( )- Оператор группировки.
Левосторонние выражения
Значения слева являются назначением присваивания.
- Доступ к свойству
- Операторы доступа к членам предоставляют доступ к свойству или методу объекта
(object.propertyиobject['property']). new- Оператор
newсоздаёт экземпляр объекта с использованием конструктора. - new.target
- Свойство
new.targetссылается на конструктор или функцию, который был вызван через операторnew. super- Ключевое слово
superвызывает конструктор родительского класса. ...obj- Оператор распространения позволяет развернуть выражение в местах, где ожидается несколько аргументов (при вызове функций) или несколько элементов (при создании литералов массива).
Инкремент и декремент
Операторы постфиксного/префиксного инкремента и декремента.
A++- Оператор постфиксного инкремента.
A--- Оператор постфиксного декремента.
++A- Оператор префиксного инкремента. (Значение переменной, сначала, увеличивается на 1, а затем используется в выражении)
--A- Оператор префиксного декремента.
Унарные операторы
Унарные опарации — это операции с одним операндом.
delete- Оператор
deleteудаляет свойство из объекта. void- Оператор
voidотбрасывает возвращаемое значение выражения. typeof- Оператор
typeofопределяет тип переданного объекта. +- Оператор унарного плюса преобразует свой операнд в тип
Number. -- Оператор унарного минуса преобразует свой операнд в тип
Number, а затем меняет его знак. ~- Оператор побитового НЕ.
!- Оператор логического НЕ.
Арифметические операторы
Арифметические операторы своими операндами принимают числовые значения (литерали или переменные) и возвращают одно числовое значение.
+- Оператор сложения.
-- Оператор вычитания.
/- Оператор деления.
*- Оператор умножения.
%- Оператор взятия остатка от деления.
**- Оператор возведения в степень.
Реляционные операторы
Реляционные операторы (операторы отношения) сравнивают свои операнды и возвращают значение типа Boolean, зависящее от того, был ли результат сравнения истинным или ложным.
in- Оператор
inопределяет, содержит ли объект указанное свойство. instanceof- Оператор
instanceofопределяет, является ли объект экземпляром потомком Prototype (или экземпляром) другого объекта. <- Оператор меньше.
>- Оператор больше.
<=- Оператор меньше или равно.
>=- Оператор больше или равно.
Заметьте: => это не оператор. Это нотация для Стрелочных функций.
Операторы равенства
Результат вычисления оператора равенства всегда имеет тип Boolean и значение, зависящее от того, был ли результат проверки истинным или ложным.
==- Оператор проверки на равенство.
!=- Оператор проверки на неравенство.
===- Оператор проверки на идентичность.
!==- Оператор проверки на неидентичность.
Операторы побитового сдвига
Операции для сдвига всех битов операнда.
<<- Оператор побитового сдвига влево.
>>- Оператор знакового побитового сдвига вправо.
>>>- Оператор беззнакового побитового сдвига вправо.
Бинарные побитовые операторы
Побитовые операторы трактуют свои операнды как набор из 32 битов (нулей и единиц) и возвращают стандартные числовые значения JavaScript.
Бинарные логические операторы
Логические операторы обычно используются вместе с булевыми (логическими) значениями и в сочетании с ними они возвращают булево значение.
Условный (тернарный) оператор
(условие ? ifTrue : ifFalse)- Условный оператор возвращает одно значение из двух данных в зависимости от логического значения условия.
Операторы присваивания
Операторы присваивания присваивают значение своему левому операнду, зависящее от значения их правого операнда.
=- Оператор присваивания.
*=- Оператор присваивания с умножением.
/=- Оператор присваивания с делением.
%=- Оператор присваивания с взятием остатка от деления.
+=- Оператор присваивания со сложением.
-=- Оператор присваивания с вычитанием.
<<=- Оператор присваивания со сдвигом влево.
>>=- Оператор присваивания со знаковым сдвигом вправо.
>>>=- Оператор присваивания с беззнаковым сдвигом вправо.
&=- Оператор присваивания с побитовым И.
^=- Оператор присваивания с побитовым ИСКЛЮЧАЮЩИМ ИЛИ.
|=- Оператор присваивания с побитовым ИЛИ.
[a, b] = [1, 2]
{a, b} = {a:1, b:2}- Реструктуризующее присваивание позволяет вам присваивать свойства массива или объекта переменным с использованием синтаксиса, очень похожего на объявление литералов массива или объекта.
Оператор запятая
,- Оператор запятая позволяет вычислять несколько выражений в одном операторе и возвращает результат вычисления последнего выражения.
-
Нестандартные особенности
- Legacy generator function
- Ключевое слово
functionможет быть использовано для определения устаревших функций-генераторов в одном выражении. Для того, чтобы сделать такую функцию, её тело должно содержать хотя бы одно выражениеyield. - Expression closures
- Синтаксис закрытого выражения для сокращённого написания простейших функций.
-
[for (x of y) x] - Упрощённый синтаксис создания массива.
-
(for (x of y) y) - Упрощённый синтаксис создания генератора.
Функции
Эта глава описывает, как работать с функциями JavaScript для разработки ваших приложений.