Эта часть раздела MDN по JavaScript служит хранилищем фактов о языке JavaScript. Более подробную информацию об этом справочнике можно получить здесь.
Глобальные объекты
Эта глава описывает все стандартные встроенные объекты JavaScript вместе с их методами и свойствами.
Значения
Глобальные свойства, возвращающие простое значение.
Функции
Глобальные функции, возвращающие результат определённой подпрограммы.
eval()
uneval()
isFinite()
isNaN()
parseFloat()
parseInt()
decodeURI()
decodeURIComponent()
encodeURI()
encodeURIComponent()
escape()
unescape()
Фундаментальные объекты
Общие языковые объекты, функции и ошибки.
Object
Function
Boolean
Symbol
Error
EvalError
InternalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
Числа и даты
Объекты, имеющие дело с числами, датами и математическими вычислениями.
Обработка текста
Объекты для манипулирования текстом.
Индексированные коллекции
Коллекции, упорядоченные по индексам. Массивоподобные объекты.
Array
Int8Array
Uint8Array
Uint8ClampedArray
Int16Array
Uint16Array
Int32Array
Uint32Array
Float32Array
Float64Array
Коллекции по ключу
Коллекции объектов по ключу. Элементы обходятся в порядке вставки.
Структурированные данные
Буферы данных и Объектная нотация 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 для разработки ваших приложений.