Originariamente inviato da Linusss
Volendo rendere javascript OOP
JavaScript e' gia' OO ... non puoi renderlo OO visto che nasce OO


Originariamente inviato da Linusss
ho ovviamente la necessità di stanziare nuovi oggetti, e per ora utilizzo questa sintassi:
...
Questo, a parte essere molto leggibile come codice, crea a tutti gli effetti una nuova classe, con una variabile e un metodo private, e una variabile e un metodo pubblico.
se usi metodi privati hai poche chances ... i metodi in prototype non possono accedere al private scope del costruttore se non tramite un bridge pubblico e creato per ogni istanza.


Originariamente inviato da Linusss
Leggendo in giro ho notato che molti utilizzano il prototype ...
Che differenza c'è tra queste due sinstassi? Il risulatato è lo stesso, ma il primo,almeno per quanto mi riguarda, è più leggibile.
La prima cosa che mi salta in mente, è che "forse" con classi che contengono molti metodi ci vorrebbe più tempo ad istanziarle nel primo caso, mentre con prototype la classe risulterebbe più leggera, sbaglio?
un solo metodo pubblico nel costruttore (si chiama metodo privilegiato, capace di overloadare la prototype) ... 10 istanze, 10 nuove funzioni per ogni istanza.

1 solo metodo pubblico in prototype, 10 istanze, 1 sola funzione per tutte assegnata per riferimento.


Originariamente inviato da Linusss
Eredità
Dovendo usare l'eredità, mi sono accorto che anche qui esistono vari metodi per realizzarla:
errato, ne esiste uno ed uno solo, il prototype.
Eredita' significa che classe B che stende A e' sia instanceof A che instanceof B

Nel tuo esempio nessuno e' istanceof parent, quindi il risultato non e' identico.


Originariamente inviato da Linusss
la sintassi senza prototype mi sembra più leggibile.
Quale bisogna usare?
dipende se vuoi estendere o fare altro ... per estendere hai bisogno delle prototypes, per fare altro no, ma non stai estendendo un granche'.


Originariamente inviato da Linusss
Non uso nessuna lib, le sto facendo io le librerie.
bene, approfondisci bene pero' il tutto perche' continuo a pensare ci sia un po' di confusione.
In bocca al lupo per la lib