Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2020年9月.
論理和代入演算子 (||=) は、左オペランドが偽値の場合にのみ右オペランドを評価し、左オペランドに代入します。
論理和代入演算子は短絡評価を行うため、x ||= y は x || (x = y) と同等です。ただし、式 x は一度だけ評価されます。
左辺が偽値でない場合、論理和演算子の短絡が発生するため代入は実行されません。例えば、 x が const であっても、以下のコードはエラーが発生しません。
次のコードもセッターを起動しません。
そして、常に代入が行われる以下と等価ではありません。
"lyrics" 要素が空の場合は、既定値を表示します。
ここでの短絡評価は、要素が不必要に更新されることがなく、追加のパースやレンダリング作業、フォーカスの損失などの望ましくない副作用を引き起こすことがないので、特に有益です。
注意: チェック対象の API が返す値に注意してください。空の文字列(偽値)が返される場合は、||= を使用する必要があります。それ以外の場合 (返値が null または undefined の場合) は ??= 演算子を使用してください。
| ECMAScript® 2027 Language Specification # sec-assignment-operators |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年9月11日 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.