Przykład pisania w kodzie JavaScript?

Niektórzy programiści odradzają używanie pseudo klasycznego dziedziczenia w Javascript, ale radzą używać kaczego pisania i nadawania każdemu obiektowi zestawu możliwości.

Czy istnieje dobry przykład tego, jak to się robi? Mam przykład poniżej, ale przypisuje on tylko funkcję pojedynczo. Czy możemy przypisać obiektowi całą grupę metod, na przykład możemy ustawić prototypOceanAnimal które mogą „pływać”, „nurkować” i „wznosić się”, prototypLandAnimal na „run”, „walk” i „jump” i pozwól, aby obiekt odziedziczył po jednym lub obu? (więc obiekt ryb może dziedziczyć lub uzyskać możliwościOceanAnimal, a żółw może uzyskać możliwości obuOceanAnimal iLandAnimal?)

var yoyo = {
    name: "Yoyo",
    type: "turtle"
}

var simba = {
    name: "Simba",
    type: "lion"
}

var dolphy = {
    name: "Dolphy",
    type: "dolphin"
}

function swim(n) {
    console.log("My name is", this.name, ", I am a", this.type, "and I just swam", n, "feet")
}

function run(n) {
    console.log("My name is", this.name,  ", I am a", this.type, "and I just ran", n, "feet")
}

Object.prototype.respondTo = function(method) {
    return !!(this[method] && (typeof this[method] === "function"));
}

yoyo.swim = swim;
yoyo.swim(10);

dolphy.swim = swim;
dolphy.swim(80);

simba.run = run;
simba.run(200);

yoyo.run = run;
yoyo.run(2);

yoyo.walk = run;
yoyo.walk(1);

console.log(simba.respondTo("swim"));
console.log(simba.respondTo("run"));
console.log(simba.respondTo("walk"));

console.log(yoyo.respondTo("run"));
console.log(yoyo.respondTo("walk"));
console.log(yoyo.respondTo("fly"));

if(dolphy.respondTo("run")) {
    dolphy.run(10);
}

if(dolphy.respondTo("swim")) {
    dolphy.swim(10);
}

wydajność:

My name is Yoyo , I am a turtle and I just swam 10 feet 
My name is Dolphy , I am a dolphin and I just swam 80 feet 
My name is Simba , I am a lion and I just ran 200 feet 
My name is Yoyo , I am a turtle and I just ran 2 feet 
My name is Yoyo , I am a turtle and I just ran 1 feet 
false 
true 
false 
true 
true 
false 
My name is Dolphy , I am a dolphin and I just swam 10 feet

questionAnswers(3)

yourAnswerToTheQuestion