--- id: 587d7dad367417b2b2512b77 title: Define a Constructor Function challengeType: 1 --- ## Description
Constructors are functions that create new objects. They define properties and behaviors that will belong to the new object. Think of them as a blueprint for the creation of new objects. Here is an example of a constructor: ```js function Bird() { this.name = "Albert"; this.color = "blue"; this.numLegs = 2; } ``` This constructor defines a Bird object with properties name, color, and numLegs set to Albert, blue, and 2, respectively. Constructors follow a few conventions:
## Instructions
Create a constructor, Dog, with properties name, color, and numLegs that are set to a string, a string, and a number, respectively.
## Tests
```yml tests: - text: Dog should have a name property set to a string. testString: assert(typeof (new Dog()).name === 'string', 'Dog should have a name property set to a string.'); - text: Dog should have a color property set to a string. testString: assert(typeof (new Dog()).color === 'string', 'Dog should have a color property set to a string.'); - text: Dog should have a numLegs property set to a number. testString: assert(typeof (new Dog()).numLegs === 'number', 'Dog should have a numLegs property set to a number.'); ```
## Challenge Seed
```js ```
## Solution
```js function Dog (name, color, numLegs) { this.name = 'name'; this.color = 'color'; this.numLegs = 4; } ```