Полностью воспроизвести Proxy и поведение слабых ссылок обычным полифилом нельзя: они требуют возможностей движка. Частичная эмуляция не равна совместимости со стандартом.
Назови возможности JavaScript, которые невозможно реализовать в старых браузерах ни транспиляцией, ни полифилом.
Полностью воспроизвести Proxy и поведение слабых ссылок обычным полифилом нельзя: они требуют возможностей движка. Частичная эмуляция не равна совместимости со стандартом.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Полностью воспроизвести Proxy и поведение слабых ссылок обычным полифилом нельзя: они требуют возможностей движка. Частичная эмуляция не равна совместимости со стандартом.
Proxy должен перехватывать операции с объектом, включая заранее неизвестные свойства; старые getters/setters покрывают лишь часть сценариев. WeakRef и FinalizationRegistry зависят от сборщика мусора, к которому обычный JS не имеет такого доступа. Транспиляция синтаксиса и замена вызовов в контролируемом коде помогают частично, но не обеспечивают полную семантику для произвольного окружения.
Источник: github.com, github.com.