freeCodeCamp/curriculum/challenges/english/02-javascript-algorithms-an.../object-oriented-programming/create-a-method-on-an-objec...

1.8 KiB

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

Using the 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');
  - 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.');

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();