2.3 KiB
2.3 KiB
id, title, challengeType
| id | title | challengeType |
|---|---|---|
| 587d7dad367417b2b2512b78 | Use a Constructor to Create Objects | 1 |
Description
Bird constructor from the previous challenge:
function Bird() {Notice that the
this.name = "Albert";
this.color = "blue";
this.numLegs = 2;
// "this" inside the constructor always refers to the object being created
}
let blueBird = new Bird();
new operator is used when calling a constructor. This tells JavaScript to create a new instance of Bird called blueBird. Without the new operator, this inside the constructor would not point to the newly created object, giving unexpected results.
Now blueBird has all the properties defined inside the Bird constructor:
blueBird.name; // => AlbertJust like any other object, its properties can be accessed and modified:
blueBird.color; // => blue
blueBird.numLegs; // => 2
blueBird.name = 'Elvira';
blueBird.name; // => Elvira
Instructions
Dog constructor from the last lesson to create a new instance of Dog, assigning it to a variable hound.
Tests
tests:
- text: <code>hound</code> should be created using the <code>Dog</code> constructor.
testString: 'assert(hound instanceof Dog, "<code>hound</code> should be created using the <code>Dog</code> constructor.");'
- text: Your code should use the <code>new</code> operator to create an <code>instance</code> of <code>Dog</code>.
testString: 'assert(code.match(/new/g), "Your code should use the <code>new</code> operator to create an <code>instance</code> of <code>Dog</code>.");'
Challenge Seed
function Dog() {
this.name = "Rupert";
this.color = "brown";
this.numLegs = 4;
}
// Add your code below this line
Solution
function Dog() {
this.name = "Rupert";
this.color = "brown";
this.numLegs = 4;
}
const hound = new Dog();