JavaScript Proxy.revocable() — посередник, який можна вимкнути
Статичний метод Proxy.revocable() створює посередника, якого можна вимкнути назавжди.
Загальний опис
Повертає об'єкт із двох частин: proxy (сам посередник) і revoke (функція вимкнення).
Після виклику revoke() будь-яке звертання до посередника кидає TypeError — навіть просте читання властивості. Посередник стає мертвим, і оживити його не можна.
Сфера застосування — тимчасовий доступ. Віддав плагіну обмежений доступ до даних, плагін відпрацював — відкликав. Плагін не зможе зберегти посилання й скористатись ним пізніше.
Оригінальний об'єкт при цьому лишається цілим і живим — вимикається лише доступ крізь посередника.
автор: NagarD
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| revocable | 49+ | 42+ | 10+ | 36+ | 12+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| revocable | 49+ | yes | yes | 10+ |
Приклади
+ запропонувати свій приклад у пісочниці
Тимчасовий доступ, який неможливо зберегти на потім.
const secret = { token: 'абв123' };
const { proxy, revoke } = Proxy.revocable(secret, {
get: (target, key) => Reflect.get(target, key),
});
console.log(proxy.token); // 'абв123' — доступ є
// плагін відпрацював — забираємо доступ
revoke();
try {
console.log(proxy.token); // TypeError
} catch (error) {
console.log('Доступ відкликано');
}
// оригінал живий
console.log(secret.token); // 'абв123'
Коментарі
Коментарів ще немає — будьте першим!