Dunque, premessa: non ho mai usato molto JS se non per cose molto semplici, ma mi trovo attualmente a lavorare per la tesi di laurea triennale su un progetto già iniziato da un altro studente per cui devo usare principalmente il JS object oriented.
Questo assegnamento:
cos'è che fa esattamente? Prova ad effettuare il primo assegnamento [=tools] e se non riesce (cioè se il valore restituito da tale assegnamento dovesse essere false) prova il secondo?this.tools = tools || new Array();
Si tratta di un semplice dubbio, il codice finora fa abbastanza quel che deve, senza che io abbia dovuto metterci le mani :P