quartz/content/Knowledge/Programming/JavaScript/Fundamenty/Constructor Functions.md
Adam Gospodarczyk 3bddcd3b48 2022/08/13
2022-08-13 10:08:21 +02:00

1.4 KiB

title
Constructor Functions

Definicja

Knowledge/Programming/JavaScript/Fundamenty/Constructor Functions to funkcja zwracająca nowy obiekt, wywołana z pomocą słowa kluczowego new. Jej nazwę zapisujemy z wielkiej litery. Rolą constructora jest utworzenie nowej instancji klasy, do której jest przypisany.

⚠️ Słowo kluczowe new sprawia, że JavaScript tworzy nowy obiekt, przypisuje do niego słowo kluczowe this (JavaScript) oraz zwraca go z tej funkcji.

Mówiąc inaczej: Każda klasa posiada constructor. Obiekt utworzony na podstawie tej klasy to tzw. instancja.

const User = function(name) { // Klasa / Constrcutor
  this.name = name;
}

const user = new User('Adam'); // Instancja klasy

Constructor vs Factory

Zarówno constructory jak i factory functions mają na celu tworzenie nowych obiektów.a

Różnica pomiędzy constructorem a Knowledge/Programming/JavaScript/Programowanie funkcyjne/Factory Functions, polega na sposobie wywołania. Dodatkowo Constructor wymaga słowa kluczowego new, zamienia zachowanie this (JavaScript), niejawnie zmienia zwracaną wartość oraz ustawia prototyp.

Wyjaśnienie