Клавиша / esc

WeakRef

Слабая ссылка на объект.

Время чтения: меньше 5 мин

Это незавершённая статья. Вы можете помочь её закончить! Почитайте о том, как контрибьютить в Доку.

Кратко

Скопировано

Объект, который хранит слабую ссылку на другой. Это значит, что сборщик мусора может игнорировать эту ссылку когда решает, какие объекты очищать (сборщик мусора не собирает объекты, если на них есть ссылки).

Пример

Скопировано
        
          
          class Counter {  constructor(element) {    // Слабая ссылка на какой-то элемент в DOM    this.ref = new WeakRef(element)    this.start()  }}
          class Counter {
  constructor(element) {
    // Слабая ссылка на какой-то элемент в DOM
    this.ref = new WeakRef(element)
    this.start()
  }
}

        
        
          
        
      

Как пишется

Скопировано

Чтобы создать WeakRef, обязательно используйте оператор new. В скобках в качестве аргумента указывают объект, на который ссылается слабая ссылка.

        
          
          new WeakRef(anyTargetElement)
          new WeakRef(anyTargetElement)

        
        
          
        
      

Как понять

Скопировано

В JavaScript есть сильные и слабые ссылки на другие объекты. Наличие сильной ссылки не разрешает сборщику мусора его собрать. Объект со слабой ссылкой можно собрать.