From a065e04d529da1d847b5062a12c46d916408bf32 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 21:46:22 -0500 Subject: update based on https://github.com/mdn/yari/issues/2028 --- .../components.utils.getweakreference/index.html | 45 ---------------------- 1 file changed, 45 deletions(-) delete mode 100644 files/ja/mozilla/tech/xpcom/language_bindings/components.utils.getweakreference/index.html (limited to 'files/ja/mozilla/tech/xpcom/language_bindings/components.utils.getweakreference/index.html') diff --git a/files/ja/mozilla/tech/xpcom/language_bindings/components.utils.getweakreference/index.html b/files/ja/mozilla/tech/xpcom/language_bindings/components.utils.getweakreference/index.html deleted file mode 100644 index 7d07c19b32..0000000000 --- a/files/ja/mozilla/tech/xpcom/language_bindings/components.utils.getweakreference/index.html +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Components.utils.getWeakReference -slug: Mozilla/Tech/XPCOM/Language_Bindings/Components.utils.getWeakReference -tags: - - XPCOM - - 'XPCOM:Language Bindings' - - XPConnect -translation_of: Mozilla/Tech/XPCOM/Language_Bindings/Components.utils.getWeakReference ---- -

このメソッドは Firefox 3 で導入され、オブジェクトの弱い参照 (weak reference)を得るために使います。オブジェクトの参照を得るには、結果のオブジェクトに対して get() を実行する必要があります。

- -

加えて、 get() が成功しても、オブジェクトが有効であるとは限りません。単にまだガベージコレクトされていないからかもしれないからです。オブジェクトが本当に欲しいものであるかを確認するには、 (DOM ノードの Node.parentNode() のように) 他の角度からチェックする必要があります。

- -

文法

- -
weakRef = Components.utils.getWeakReference(obj);
-
- -

引数

- -
-
obj
-
弱い参照を得ようとするオブジェクト。
-
- -
-

注: Gecko 11.0 では、 このメソッドは objnull の場合に例外を投げるように変更されました。 Gecko 12.0 で、暗黙に失敗するという以前の動作に戻されました。

-
- -

- -

こちらの例では、ウィンドウへの弱い参照を把握します。そして後から、配列の中から一致するものを探して使用します。

- -
var arr = [];
-
-arr.push(Cu.getWeakReference(window));
-
-// この部分は他のブロックで実行されます。
-for (var i=0; i<arr.length; i++) {
-  if (arr[i].get() == window) {
-    // ウィンドウが見つかった
-    break;
-  }
-}
-
-- cgit v1.2.3-54-g00ecf