Можешь объяснить, что такое `WeakRef` в JavaScript? Включи в ответ отличия от обычных ссылок, способ доступа к объекту, на который ссылается `WeakRef`, и типичные сценарии его использования. — ДейлиПреп