Сборка от 17 марта 2017 г



Download 9,9 Mb.
bet292/349
Sana26.04.2022
Hajmi9,9 Mb.
#582433
TuriУчебник
1   ...   288   289   290   291   292   293   294   295   ...   349
Bog'liq
ilja kantor sovremennyj uchebnik-1chast PdfToWord

construct


Ловушка construct(target, argumentsList) перехватывает вызовы при помощи new . Она получает исходный объект target и список аргументов argumentsList .


Пример ниже передаёт операцию создания исходному классу или функции‑конструктору, выводя сообщение об этом:

'use strict';


function User(name, surname) { this.name = name; this.surname = surname;


}

let UserProxy = new Proxy(User, {


// передаст вызов new User, предварительно сообщив о нём construct: function(target, argumentsList) {
alert(`Запуск new с аргументами: ${argumentsList}`); return new target(...argumentsList);
}
});

let user = new UserProxy("Ilya", "Kantor"); alert( user.name ); // Ilya


Полный список


Полный список возможных функций‑перехватчиков, которые может задавать handler :





  • getPrototypeOf – перехватывает обращение к методу getPrototypeOf .

  • setPrototypeOf – перехватывает обращение к методу setPrototypeOf .

  • isExtensible – перехватывает обращение к методу isExtensible .

  • preventExtensions – перехватывает обращение к методу preventExtensions .

  • getOwnPropertyDescriptor – перехватывает обращение к методу getOwnPropertyDescriptor .

  • defineProperty – перехватывает обращение к методу defineProperty .

  • has – перехватывает проверку существования свойства, которая используется в операторе in и в некоторых других методах встроенных объектов.

  • get – перехватывает чтение свойства.

  • set – перехватывает запись свойства.

  • deleteProperty – перехватывает удаление свойства оператором delete .

  • enumerate – срабатывает при вызове for..in или for..of , возвращает итератор для свойств объекта.

  • ownKeys – перехватывает обращения к методу getOwnPropertyNames .

  • apply – перехватывает вызовы target() .

  • construct – перехватывает вызовы new target() .

Каждый перехватчик запускается с handler в качестве this . Это означает, что handler кроме ловушек может содержать и другие полезные свойства и методы.


Каждый перехватчик получает в аргументах target и дополнительные параметры в зависимости от типа. Если перехватчик в handler не указан, то операция совершается, как если бы была вызвана прямо на target .

Итого


Proxy позволяет модифицировать поведение объекта как угодно, перехватывать любые обращения к его свойствам и методам, включая вызовы для функций.


Особенно приятна возможность перехватывать обращения к отсутствующим свойствам, разработчики ожидали её уже давно.

Что касается поддержки, то возможности полифиллов здесь ограничены. «Переписать» прокси на старом JavaScript сложновато, учитывая низкоуровневые возможности, которые он даёт.


Поэтому нужна именно браузерная поддержка. Постепенно она реализуется.



Download 9,9 Mb.

Do'stlaringiz bilan baham:
1   ...   288   289   290   291   292   293   294   295   ...   349




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish