Każdy obiekt JavaScript ma ukryty link do innego obiektu zwanego jego prototypem. Gdy uzyskujesz dostęp do właściwości, JS wyszukuje ją na samym obiekcie, a następnie przechodzi w górę tego łańcucha prototypów, aż znajdzie właściwość lub dotrze do null. To jest delegacja, a nie kopiowanie.
animal = {
() { ; },
};
dog = .(animal);
dog. = ;
dog.();
.(dog) === animal;
dog.();
dog.();
