Limited support 一部のブラウザのみ対応。使用時はサポート状況を確認すること。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
with
非推奨
1
12
1
1
18
1
ビルトインオブジェクト

[Symbol.unscopables] は Array.prototype のデータプロパティで、すべての Array インスタンスで共有されます。 ES2015 以前の ECMAScript 標準には含まれておらず、 with 文のバインドの目的では無視されるプロパティ名を含んでいます。

38
12
48
10
38
10

Symbol.unscopables は静的データプロパティで、ウェルノウンシンボルの Symbol.unscopables を表します。Statements/with 文はスコープオブジェクト上で、その with 環境内でバインドから除外されるプロパティの集合を持つプロパティを、このシンボルで検索します。

38
12
48
9
38
9
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

JAVASCRIPT
// with example
// See MDN Web Docs for details

ライブデモ

Access object properties with with

Use the legacy with statement to shorten repeated property access.

JavaScript
出力
「実行」ボタンを押してください

Compare with direct property access

Show the same logic written without the with statement.

JavaScript
出力
「実行」ボタンを押してください

Highlight name ambiguity

See how with can make identifier lookup harder to reason about.

JavaScript
出力
「実行」ボタンを押してください

実務での使いどころ

  • with の活用

    非推奨;: この機能は非推奨になりました。

注意点

  • 一部のブラウザでのみ対応。使用前にブラウザサポートを確認すること。

アクセシビリティ

  • JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。