Potrzebuję pomocy w wytłumaczeniu mi czym są prototypy i dlaczego się je stosuje

0

Czytałem różne anglojęzyczne artykuły, tłumaczące czym są prototypy, jednak nadal nie jestem w stanie tego zrozumieć. Pomożecie mi to zrozumieć, na jakimś przykładzie? czy to działa na podobnej zasadzie co np. extend w Sass?

0

No fajne wytłumaczenie "Object.prototype reprezentuje obiekt typu prototyp od Object". Bardzo pomocne xD

1

Przykład:

var A = function () {
  return { test: function(a) { return a + 1; } };    
}
var aa = new A();
aa.test(3); // 4
A.test = function (a) { return a + 2; }
aa.test(3); // 4
var AA = function() {};
AA.prototype.test = function(a) { return a + 1; }
var aaa = new AA();
aaa.test(3); // 4
AA.prototype.test = function(a) { return a + 2; }
aaa.test(3); // 5

Wyjaśnienie własnymi, prostymi słowami:
Jak używasz prototype to metody obiektu nie są powielane podczas jego tworzenia - można w ten sposób oszczędzić pamięć itp.

Prototype nie ma nic wspólnego z extend a tym bardziej z SASS.

0

Dlaczego zmienna var A = function () { return { test: function(a) { return a + 2; }} }; nie nadpisuje poprzedniej zmiennej var A i przy wywołaniu funkcji nadal jest wynik 4 a nie 5? mimo że nadpisano zmienną do zwrócenia a+2 ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1