* fix: convert js algorithms and data structures * fix: revert some blocks back to blockquote * fix: reverted comparison code block to blockquotes * fix: change js to json Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> * fix: convert various section to triple backticks * fix: Make the formatting consistent for comparisons
2.0 KiB
2.0 KiB
id, title, challengeType
id | title | challengeType |
---|---|---|
587d7dad367417b2b2512b75 | Create a Method on an Object | 1 |
Description
Objects
can have a special type of property
, called a method
.
Methods
are properties
that are functions. This adds different behavior to an object
. Here is the duck
example with a method:
let duck = {
name: "Aflac",
numLegs: 2,
sayName: function() {return "The name of this duck is " + duck.name + ".";}
};
duck.sayName();
// Returns "The name of this duck is Aflac."
The example adds the sayName
method
, which is a function that returns a sentence giving the name of the duck
.
Notice that the method
accessed the name
property in the return statement using duck.name
. The next challenge will cover another way to do this.
Instructions
dog
object
, give it a method called sayLegs
. The method should return the sentence "This dog has 4 legs."
Tests
tests:
- text: <code>dog.sayLegs()</code> should be a function.
testString: assert(typeof(dog.sayLegs) === 'function', '<code>dog.sayLegs()</code> should be a function.');
- text: <code>dog.sayLegs()</code> should return the given string - note that punctuation and spacing matter.
testString: assert(dog.sayLegs() === 'This dog has 4 legs.', '<code>dog.sayLegs()</code> should return the given string - note that punctuation and spacing matter.');
Challenge Seed
let dog = {
name: "Spot",
numLegs: 4,
};
dog.sayLegs();
Solution
let dog = {
name: "Spot",
numLegs: 4,
sayLegs () {
return 'This dog has ' + this.numLegs + ' legs.';
}
};
dog.sayLegs();