非標準
この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。
非推奨
この機能はウェブ標準から削除されました。まだ対応しているプラウザーがあるかもしれませんが、ゆくゆくはなくなるものです。使用を避け、できれば既存のコードを更新してください。このページの下部にあるブラウザーの対応を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。
概要
オブジェクトのプロパティと関数とを結びつけます。 そのプロパティの値が取得されようとする時に、結びつけた関数が呼び出されます。
構文
obj.__defineGetter__(prop,func)
引数
prop- 関数と結びつけるプロパティの名前を表す文字列
func- そのプロパティへアクセスされた時に呼び出される関数
戻り値
説明
__defineGetter__ を使う事で、既存のオブジェクトにゲッタ関数を定義する事ができます。
このメソッドは ECMAScript 仕様で定義されていませんので、代わりに Object.defineProperty メソッド を使用してください。
例
非標準で非推奨の方法
var o = {};
o.__defineGetter__('gimmeFive', function() { return 5; });
console.log(o.gimmeFive); // 5
標準に準拠した方法
// get 演算子を使用
var o = { get gimmeFive() { return 5; } };
console.log(o.gimmeFive); // 5
// Object.defineProperty を使用
var o = {};
Object.defineProperty(o, 'gimmeFive', {
get: function() {
return 5;
}
});
console.log(o.gimmeFive); // 5
仕様
| 仕様 |
|---|
| ECMAScript (ECMA-262) Object.prototype.__defineGetter__() の定義 |
ブラウザー実装状況
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
__defineGetter__ | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox
完全対応
1
| IE 完全対応 11 | Opera 完全対応 9.5 | Safari 完全対応 3 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
凡例
- 完全対応
- 完全対応
- 非推奨。新しいウェブサイトでは使用しないでください。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 実装ノートを参照してください。
- 実装ノートを参照してください。