L'ereditarietà in JavaScript è diversa dalla maggior parte degli altri linguaggi di programmazione. Il sistema di oggetti in JavaScript è basato su prototipi, non su classi. Gli oggetti in JavaScript sono solo una raccolta di un nome (chiave) e coppie di valori. Quando si tratta di ereditarietà, JavaScript ha solo un costrutto: gli oggetti. Ogni oggetto ha una proprietà privata che contiene un collegamento a un altro oggetto chiamato il suo prototipo.