This commit adds the pre-existing challenge guide topics in the forum to the forntmatter of their challenge markdown files.
2.2 KiB
2.2 KiB
id, title, challengeType, forumTopicId
id | title | challengeType | forumTopicId |
---|---|---|---|
587d7dad367417b2b2512b77 | Define a Constructor Function | 1 | 16804 |
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
:
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:
Constructors
are defined with a capitalized name to distinguish them from other functions that are notconstructors
.Constructors
use the keywordthis
to set properties of the object they will create. Inside theconstructor
,this
refers to the new object it will create.Constructors
define properties and behaviors instead of returning a value as other functions might.
Instructions
constructor
, Dog
, with properties name
, color
, and numLegs
that are set to a string, a string, and a number, respectively.
Tests
tests:
- text: <code>Dog</code> should have a <code>name</code> property set to a string.
testString: assert(typeof (new Dog()).name === 'string');
- text: <code>Dog</code> should have a <code>color</code> property set to a string.
testString: assert(typeof (new Dog()).color === 'string');
- text: <code>Dog</code> should have a <code>numLegs</code> property set to a number.
testString: assert(typeof (new Dog()).numLegs === 'number');
Challenge Seed
Solution
function Dog (name, color, numLegs) {
this.name = 'name';
this.color = 'color';
this.numLegs = 4;
}