W języku JavaScript obiekt prototypowy każdej funkcji ma nieprzeliczalną właściwość constructor
, która wskazuje na funkcję (EcmaScript §13.2). To nie jest wykorzystywana w jakiejkolwiek natywnej funkcjonalności (np tylko instanceof
sprawdza łańcuch prototypu), jednak are encouraged to adjust it podczas nadpisywania własność funkcji prototype
do dziedziczenia:Do czego właściwie służy właściwość `constructor`?
SubClass.prototype = Object.create(SuperClass.prototype, {
constructor: {value:SubClass, writable:true, configurable:true}
});
Ale mamy (w tym mnie) zrobić tylko dla jasności i schludności? Czy istnieją rzeczywiste przypadki użycia, które polegają na constructor
property?
Co rozumiem przez moją właściwość konstruktora, aby sprawdzić, czy dany obiekt jest tworzony lub konstruowany przez który konstruktor funkcjonalny. – Apurv
związanych: [Czy istnieje dobry przypadek użycia dla właściwości konstruktora w JavaScript?] (Http://stackoverflow.com/questions/8073867/is-there-a-good-using-case-for--constructor-property -in-javascript), chociaż odpowiedzi nie są pomocne – Bergi
Zobacz też: [Dlaczego konieczne jest ustawienie prototypowego konstruktora?] (http://stackoverflow.com/q/8453887/1048572) – Bergi