このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

WeakRef.prototype.deref()

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2021年4月以降、すべてのブラウザーで利用可能です。

deref()WeakRef インスタンスのメソッドで、この WeakRef のターゲット値、またはその値が既にガベージコレクションされている場合は undefined を返します。

構文

js
deref()

引数

なし。

返値

この WeakRef の参照先となるターゲット値で、オブジェクトまたは未登録のシンボルのどちらかです。その値が既にガベージコレクションされている場合は undefined です。

解説

重要な注意事項については WeakRef ページの WeakRef の注意事項の節を参照してください。

deref() の使用

完全な例については WeakRef ページ内のの節を参照してください。

js
const tick = () => {
  // 弱参照から要素を取得する (まだ存在していれば)
  const element = this.ref.deref();
  if (element) {
    element.textContent = ++this.count;
  } else {
    // 要素が既に存在しない場合
    console.log("この要素は消滅しました");
    this.stop();
    this.ref = null;
  }
};

仕様書

仕様書
ECMAScript® 2027 Language Specification
# sec-weak-ref.prototype.deref

ブラウザーの互換性

関連情報