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

概要

get/set 構文でオブジェクトのプロパティにアクセサメソッドを定義できます。プロパティの読み取り・書き込み時にバリデーションや計算を行えます。

対応ブラウザ

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

_defineSetter_() は Object インスタンスのメソッドで、オブジェクトのプロパティと関数を結び付け、そのプロパティを設定しようとすると呼び出されるようにします。

1
12
1
3
18
1

_lookupGetter_() は Object インスタンスのメソッドで、指定されたプロパティに結びつけられているゲッター関数を返します。

1
12
1
3
18
1

_lookupSetter_() は Object インスタンスのメソッドで、指定されたプロパティに結びつけられているセッター関数を返します。

1
12
1
3
18
1
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)
注釈 1件
実装メモ
  • Firefox 48 以降、このメソッドはグローバルスコープでオブジェクトなしで呼び出すことができなくなりました。そうしないと `TypeError` がスローされます。以前はこのような場合、自動的にグローバルオブジェクトが使用されていましたが、現在はそうではありません。
注釈 1件
実装メモ
  • Firefox 48 以降、このメソッドはグローバルスコープでオブジェクトなしで呼び出すことができなくなりました。そうしないと `TypeError` がスローされます。以前はこのような場合、自動的にグローバルオブジェクトが使用されていましたが、現在はそうではありません。

基本構文

JAVASCRIPT
const user = {
  firstName: 'Taro',
  lastName: 'Yamada',
  get fullName() {
    return `${this.lastName} ${this.firstName}`;
  },
  set fullName(value) {
    [this.lastName, this.firstName] = value.split(' ');
  }
};

user.fullName; // 'Taro Yamada'
user.fullName = 'Hanako Tanaka';

ライブデモ

fulne-mu. autosync

and name by 々 to write and, getter to fulne-mu that automaticallyupdate..

プレビュー全画面表示

Inputvalue. valid-tion

Setter Use, not-positive value(negative. number etc) that sett...

プレビュー全画面表示

tax-includedprice. autocalculation

bodyprice sett and, (10%) includeprice automaticallycalculation..

プレビュー全画面表示

実務での使いどころ

  • Accessor methods の活用

    オブジェクトのアクセサメソッド(getter/setter)。プロパティアクセス時にカスタムロジックを実行可能。

注意点

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

アクセシビリティ

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

Powered by web-features