Υλοποιήστε μια κλάση αποθήκευσης σύμφωνα με το μοτίβο «Παρατηρητής»: η κλάση αποθηκεύει δεδομένα, επιτρέπει την εγγραφή και διαγραφή callback συναρτήσεων, και κατά την αλλαγή των δεδομένων, ειδοποιεί όλους τους τρέχοντες συνδρομητές, περνώντας τους τα νέα δεδομένα.
Frontend
Γιατί μια λειτουργία στο JavaScript θεωρείται αντικείμενο, παρόλο που το typeof επιστρέφει "function";
Η μέθοδος sort τροποποιεί το αρχικό πίνακα ή όχι; Πώς να κάνετε μια μη μεταβαλλόμενη ταξινόμηση;
Ποιες άλλες μεθόδους πίνακα γνωρίζετε, εκτός από το reduce (ταξινόμηση, φιλτράρισμα, μεταβαλλόμενες μέθοδοι κ.λπ.)?
Γιατί αποφασίσατε να εξετάσετε άλλες προτάσεις; Τι δεν πάει καλά στη τρέχουσα θέση σας ή τι σας ώθησε να αναζητήσετε μια νέα θέση;
Αν τοποθετήσετε έναν ακροατή συμβάντων στο γονικό div αντί για το ίδιο το input, θα ενεργοποιηθεί ο χειριστής συμβάντων του input μέσα (εξηγήστε τον μηχανισμό ανύψωσης συμβάντων);
Τι είναι η λέξη-κλειδί satisfies σε TypeScript; Πότε και πώς χρησιμοποιείται;
Τι σημαίνει το κάτω παύλα στο όνομα μιας ιδιότητας κλάσης, π.χ. _data, και το καθιστά ιδιωτικό;
Τι συμβαίνει στον περιηγητή μετά την εισαγωγή του URL στη γραμμή διευθύνσεων;
Πώς αντιγράφουμε ένα αντικείμενο (μη πρωταρχικό τύπο) ώστε οι αλλαγές στο αντίγραφο να μην επηρεάζουν το πρωτότυπο;
Πώς υλοποιήθηκε το σχέδιο επικύρωσης των φορμών;
Τι θα αλλάξει στα αποτελέσματα και στις τρεις γραμμές αν μετατρέψεις τη συνάρτηση getName σε βέλος;
Τι θα εμφανιστεί στην κονσόλα στις γραμμές 12, 13 και 14 του κώδικα με διαφορετικές κλήσεις της συνάρτησης, δεδομένου ενός αντικειμένου με τη μέθοδο getName;
Ποια είναι η διαφορά μεταξύ του τύπου void και never στο TypeScript;
Πώς λειτουργεί το enum στο TypeScript — τι συμβαίνει με τα κλειδιά και τις τιμές αν οι τιμές δεν οριστούν ή οριστούν ρητά;
Γιατί είναι δυνατή η κλήση ενσωματωμένων μεθόδων, όπως η toString, σε primitive τύπους;
Γράψτε τους τύπους για τη συνάρτηση reduce χρησιμοποιώντας γενικούς (τύπο πίνακα, callback με συσσωρευτή, τρέχουσα τιμή, δείκτη, αρχική τιμή).
Έχετε δουλέψει με τη βιβλιοθήκη Zod;
Πώς να αναθέσετε ένα αντικείμενο έτσι ώστε να μην είναι μεταφορά μέσω αναφοράς (πώς να αντιγράψετε ένα αντικείμενο, επιφανειακά και βαθιά);
Ποιος είναι ο τύπος του στοιχείου input σε TypeScript αν το λαμβάνετε μέσω querySelector;