Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
This feature is well established and works across many devices and browser versions. It’s been available across browsers since сентябрь 2020 г..
Оператор присваивания логического ИЛИ (x ||= y) присваивает значение переменной x только в случае, если её текущее значение ложноподобно.
Оператор логического ИЛИ работает следующим образом:
Оператор логического ИЛИ OR производит вычисление по сокращённой схеме: второй операнд будет вычисляться только в случае, если при вычислении первого операнда не удалось получить значение.
Оператор присваивания логического ИЛИ также поддерживает сокращённое вычисление, т.е. выполнит операцию присваивания только при вычислении правого выражения. Проще говоря, x ||= y эквивалентно следующему коду:
В отличие от следующего примера, где операция присваивания произойдёт в любом случае:
Обратите внимание, что математические и побитовые операторы присваивания работают по-разному.
Если в элементе с идентификатором "lyrics" нет содержимого, то следующее выражение вставит в него надпись:
В данном примере сокращённое вычисление очень сильно выручает, поскольку элемент будет обновляться только при необходимости, что позволит избежать подобных эффектов вроде ненужного рендеринга, потери фокуса и т.д.
Примечание: обратите внимание на значение в левом операнде. Если это пустая строка (ложноподобное значение), то должно использовать оператор ||=, в противном случае — оператор ??= (если ожидается получение значения null или undefined).
| ECMAScript® 2027 Language Specification # sec-assignment-operators |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 17 февр. 2025 г. by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.