3.3 KiB
3.3 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
587d7db2367417b2b2512b89 | Use a Mixin to Add Common Behavior Between Unrelated Objects | 1 | Use un Mixin para agregar un comportamiento común entre objetos no relacionados |
Description
Bird
y Airplane
. Ambos pueden volar, pero un Bird
no es un tipo de Airplane
y viceversa. Para objetos no relacionados, es mejor usar mixins
. Una mixin
permite que otros objetos usen una colección de funciones. vamos a flyMixin = function (obj) {El
obj.fly = function () {
console.log ("Flying, wooosh!");
}
};
flyMixin
toma cualquier objeto y le da el método de fly
. dejar ave = {Aquí el
nombre: "donald",
NumLegs: 2
};
dejar plano = {
modelo: "777",
NumPasajeros: 524
};
flyMixin (pájaro);
flyMixin (plano);
bird
y el plane
pasan a flyMixin
, que luego asigna la función de fly
a cada objeto. Ahora tanto el bird
como el plane
pueden volar: bird.fly (); // impresiones "Flying, wooosh!"Observe cómo la
plane.fly (); // impresiones "Flying, wooosh!"
mixin
permite que el mismo método de fly
sea reutilizado por objetos no relacionados, bird
y plane
. Instructions
mixin
llamado glideMixin
que define un método llamado glide
. Luego use el glideMixin
para que tanto el bird
como el boat
puedan deslizarse. Tests
tests:
- text: Su código debe declarar una variable <code>glideMixin</code> que es una función.
testString: 'assert(typeof glideMixin === "function", "Your code should declare a <code>glideMixin</code> variable that is a function.");'
- text: Su código debe usar el <code>glideMixin</code> en el objeto <code>bird</code> para darle el método de <code>glide</code> .
testString: 'assert(typeof bird.glide === "function", "Your code should use the <code>glideMixin</code> on the <code>bird</code> object to give it the <code>glide</code> method.");'
- text: Su código debe usar el <code>glideMixin</code> en el objeto del <code>boat</code> para darle el método de <code>glide</code> .
testString: 'assert(typeof boat.glide === "function", "Your code should use the <code>glideMixin</code> on the <code>boat</code> object to give it the <code>glide</code> method.");'
Challenge Seed
let bird = {
name: "Donald",
numLegs: 2
};
let boat = {
name: "Warrior",
type: "race-boat"
};
// Add your code below this line
Solution
// solution required