Mỗi object trong JavaScript có một liên kết ẩn đến một object khác gọi là prototype của nó. Khi bạn truy cập một thuộc tính, JS tìm trên chính object đó, rồi đi ngược lên prototype chain này cho đến khi tìm thấy thuộc tính hoặc đến null. Đây là ủy quyền (delegation), không phải sao chép.
animal = {
() { ; },
};
dog = .(animal);
dog. = ;
dog.();
.(dog) === animal;
dog.();
dog.();
