Ο διακομιστής μεσολάβησης στο es6 υλοποιεί τη λειτουργία παρατηρητή
2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Εισαγωγή στο Proxy
Ο διακομιστής μεσολάβησης στο ES6 είναι ένα ειδικό αντικείμενο που χρησιμοποιείται για τη δημιουργία αντικειμένων διακομιστή μεσολάβησης. Μας επιτρέπει να ορίσουμε προσαρμοσμένες συμπεριφορές, όπως η παρεμπόδιση και η τροποποίηση των προεπιλεγμένων ενεργειών ενός αντικειμένου. Ο διακομιστής μεσολάβησης μπορεί να χρησιμοποιηθεί για την υποκλοπή διαφόρων λειτουργιών σε αντικείμενα, συμπεριλαμβανομένης της πρόσβασης σε ιδιότητες, της εκχώρησης, των κλήσεων λειτουργιών κ.λπ.
Η λειτουργία του Proxy είναι να δημιουργεί ένα επίπεδο υποκλοπής πριν από το αντικείμενο-στόχο, το οποίο μπορεί να παρεμποδίσει και να προσαρμόσει διάφορες λειτουργίες στο αντικείμενο-στόχο. Χρησιμοποιώντας το Proxy, μπορούμε να εφαρμόσουμε λειτουργίες όπως έλεγχος πρόσβασης, επαλήθευση δεδομένων και παραβίαση χαρακτηριστικών αντικειμένων-στόχων.
Ο διακομιστής μεσολάβησης αναδιπλώνει το αντικείμενο προορισμού με ένα αντικείμενο διακομιστή μεσολάβησης και παρέχει ένα σύνολο συναρτήσεων αγκίστρου (ονομάζονται επίσης "παγίδες") που μπορούν να λειτουργήσουν στο αντικείμενο διακομιστή μεσολάβησης. Όταν λειτουργούμε στο αντικείμενο διακομιστή μεσολάβησης, στην πραγματικότητα καλούμε αυτές τις συναρτήσεις αγκίστρου και τις επεξεργαζόμαστε ανάλογα όπως απαιτείται.
Εισαγωγή στις λειτουργίες του χαρακτηριστικού Proxy
- get(target, propKey, receiver): Ανάγνωση παρεμπόδισης ιδιοτήτων αντικειμένου
- set(target, propKey, value, receiver): παρεμποδίζει τη ρύθμιση των ιδιοτήτων του αντικειμένου και επιστρέφει μια Boolean τιμή.
- has(target, propKey): Κλείστε τη λειτουργία του propKey σε διακομιστή μεσολάβησης και επιστρέψτε μια Boolean τιμή.
- deleteProperty(target, propKey): παρεμποδίζει τη λειτουργία διαγραφής διακομιστή μεσολάβησης[propKey] και επιστρέφει μια Boolean τιμή.
- ownKeys(target): Intercept Object.getOwnPropertyNames(proxy), Object.getOwnPropertySymbols(proxy), Object.keys(proxy), for...in loop και επιστρέψτε έναν πίνακα. Αυτή η μέθοδος επιστρέφει τα ονόματα ιδιοτήτων όλων των ιδιοτήτων του αντικειμένου προορισμού, ενώ το αποτέλεσμα επιστροφής της Object.keys() περιλαμβάνει μόνο τις διασχίσιμες ιδιότητες του αντικειμένου στόχου.
- getOwnPropertyDescriptor(target, propKey): παρεμποδίζει το Object.getOwnPropertyDescriptor(proxy, propKey) και επιστρέφει το αντικείμενο περιγραφής της ιδιότητας.
- defineProperty(target, propKey, propDesc): παρεμποδίζει το Object.defineProperty(proxy, propKey, propDesc), Object.defineProperties(proxy, propDescs) και επιστρέφει μια Boolean τιμή.
- preventExtensions(target): Κλείνει το Object.preventExtensions(proxy) και επιστρέφει μια Boolean τιμή.
- getPrototypeOf(target): Κλείστε το Object.getPrototypeOf(proxy) και επιστρέψτε ένα αντικείμενο.
- isExtensible(target): παρεμποδίζει το Object.isExtensible(proxy) και επιστρέφει μια Boolean τιμή.
- setPrototypeOf(target, proto): παρεμποδίζει το Object.setPrototypeOf(proxy, proto) και επιστρέφει μια Boolean τιμή. Εάν το αντικείμενο στόχος είναι μια συνάρτηση, υπάρχουν δύο πρόσθετες λειτουργίες που μπορούν να υποκλαπούν.
- Εφαρμογή(στόχος, αντικείμενο, args): Εντόπιση της λειτουργίας του στιγμιότυπου διακομιστή μεσολάβησης ως κλήση συνάρτησης, όπως μεσολάβηση(...args), proxy.call(object, ...args), proxy.apply(...).
- construct(target, args): Εντόπιση της λειτουργίας του στιγμιότυπου διακομιστή μεσολάβησης ως κλήση κατασκευαστή, όπως νέος διακομιστής μεσολάβησης (...args).
χρήσηProxy
Εφαρμόστε το μοτίβο παρατηρητή
