---
id: 587d7dad367417b2b2512b77
title: Define a Constructor Function
localeTitle: Definir una función de constructor
challengeType: 1
---
## Description
Constructors son funciones que crean nuevos objetos. Definen propiedades y comportamientos que pertenecerán al nuevo objeto. Piense en ellos como un plano para la creación de nuevos objetos.
Aquí hay un ejemplo de un constructor :
function Bird() {
this.name = "Albert";
this.color = "blue";
this.numLegs = 2;
}
Este constructor define un objeto Bird con el name , el color y las numLegs establecidas en Albert, azul y 2, respectivamente.
Constructors siguen algunas convenciones:
-
Constructors se definen con un nombre en mayúsculas para distinguirlos de otras funciones que no son constructors . -
Constructors usan la palabra clave this para establecer las propiedades del objeto que crearán. Dentro del constructor , this refiere al nuevo objeto que creará. -
Constructors definen propiedades y comportamientos en lugar de devolver un valor como otras funciones podrían.
## Instructions
Cree un constructor , Dog , con las propiedades name , color y numLegs que se establecen en una cadena, una cadena y un número, respectivamente.
## Tests
```yml
tests:
- text: Dog debe tener una propiedad de name establecida en una cadena.
testString: 'assert(typeof (new Dog()).name === "string", "Dog should have a name property set to a string.");'
- text: Dog debe tener una propiedad de color establecida en una cadena.
testString: 'assert(typeof (new Dog()).color === "string", "Dog should have a color property set to a string.");'
- text: Dog debe tener una propiedad numLegs establecida en un número.
testString: 'assert(typeof (new Dog()).numLegs === "number", "Dog should have a numLegs property set to a number.");'
```
## Challenge Seed
## Solution
```js
function Dog (name, color, numLegs) {
this.name = 'name';
this.color = 'color';
this.numLegs = 4;
}
```