2021-02-06 04:42:36 +00:00
---
id: 587d7dae367417b2b2512b7a
2021-03-31 00:44:56 +09:00
title: Verifica el constructor de un objeto con "instanceof"
2021-02-06 04:42:36 +00:00
challengeType: 1
forumTopicId: 301337
dashedName: verify-an-objects-constructor-with-instanceof
---
# --description--
2021-03-31 00:44:56 +09:00
Cada vez que una función constructora crea un nuevo objeto, se dice que ese objeto es una < dfn > instancia</ dfn > de su constructor. JavaScript proporciona una manera conveniente de verificar esto con el operador `instanceof` . `instanceof` permite comparar un objeto con un constructor, devuelve `true` o `false` basado en si ese objeto fue creado o no con dicho constructor. Aquí hay un ejemplo:
2021-02-06 04:42:36 +00:00
```js
let Bird = function(name, color) {
this.name = name;
this.color = color;
this.numLegs = 2;
}
let crow = new Bird("Alexis", "black");
2021-03-31 00:44:56 +09:00
crow instanceof Bird;
2021-02-06 04:42:36 +00:00
```
2021-03-31 00:44:56 +09:00
Aquí el método `instanceof` devolverá `true` .
Si un objeto es creado sin usar un constructor, `instanceof` verificará que no es una instancia de ese constructor:
2021-02-06 04:42:36 +00:00
```js
let canary = {
name: "Mildred",
color: "Yellow",
numLegs: 2
};
2021-03-31 00:44:56 +09:00
canary instanceof Bird;
2021-02-06 04:42:36 +00:00
```
2021-03-31 00:44:56 +09:00
Aquí el método `instanceof` devolverá `false` .
2021-02-06 04:42:36 +00:00
# --instructions--
2021-03-31 00:44:56 +09:00
Crea una nueva instancia del constructor `House` , llamándola `myHouse` y pasando el número de habitaciones. Luego, usa `instanceof` para verificar que es una instancia de `House` .
2021-02-06 04:42:36 +00:00
# --hints--
2021-03-31 00:44:56 +09:00
`myHouse` debe tener un atributo `numBedrooms` establecido a un número.
2021-02-06 04:42:36 +00:00
```js
assert(typeof myHouse.numBedrooms === 'number');
```
2021-03-31 00:44:56 +09:00
Debes verificar que `myHouse` es una instancia de `House` usando el operador `instanceof` .
2021-02-06 04:42:36 +00:00
```js
assert(/myHouse\s*instanceof\s*House/.test(code));
```
# --seed--
## --seed-contents--
```js
function House(numBedrooms) {
this.numBedrooms = numBedrooms;
}
// Only change code below this line
```
# --solutions--
```js
function House(numBedrooms) {
this.numBedrooms = numBedrooms;
}
const myHouse = new House(4);
console.log(myHouse instanceof House);
```