Funkcje konstruktora JavaScript
Funkcja konstruktora to szablon dla obiektów. Użyj jej, aby tworzyć wiele obiektów o tej samej strukturze.
Jak to działa:
Używasz słowa kluczowego new, aby wywołać funkcję konstruktora. Proces ten wykonuje cztery czynności:
- Tworzy pusty obiekt.
- Ustawia this tak, aby wskazywało na ten nowy obiekt.
- Wykonuje kod wewnątrz funkcji.
- Zwraca nowy obiekt.
Przykładowy kod:
function Employee(name, salary) { this.name = name; this.salary = salary; }
const emp1 = new Employee("Saravanan", 50000);
Zasady, których należy przestrzegać:
- Zaczynaj nazwy funkcji wielką literą.
- Używaj this, aby przypisywać właściwości do nowego obiektu.
Rola this:
Wewnątrz konstruktora, this odnosi się do konkretnego obiektu, który tworzysz. Na przykład, this.name = name przypisuje wartość parametru do właściwości obiektu.
Dodawanie metod:
Możesz dodawać funkcje wewnątrz konstruktora, aby każdy obiekt mógł z nich korzystać.
function Employee(name, salary) { this.name = name; this.salary = salary; this.displayInfo = function() { console.log(this.name + " earns " + this.salary); }; }
Efektywność pamięciowa:
Jeśli dodasz metody bezpośrednio do konstruktora, każdy obiekt otrzyma własną kopię. Zużywa to więcej pamięci.
Zamiast tego użyj prototypu. Dodanie metody do prototypu sprawia, że jedna kopia jest współdzielona przez wszystkie obiekty.
Employee.prototype.greet = function() { console.log("Hello " + this.name); };
Podsumowanie:
- Używaj literałów obiektów dla pojedynczego obiektu.
- Używaj funkcji konstruktora dla wielu obiektów o tym samym kształcie.
Źródło: https://www.w3schools.com/js/js_object_constructors.asp Źródło: https://www.geeksforgeeks.org/javascript/javascript-function-constructor/ Źródło: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function
Link do posta: https://dev.to/dev_saravanan_journey/javascript-constructor-functions-k6k