Make Object Properties Private, NO CLUE WHAT TO DO

Tell us what’s happening:
I just have no clue what to do here, I dont even understand it.

Your code so far

var Car = function() {
  // this is a private variable
  var speed = 10;

  // these are public methods
  this.accelerate = function(change) {
    speed += change;
  };

  this.decelerate = function() {
    speed -= 5;
  };

  this.getSpeed = function() {
    return speed;
  };
};

var Bike = function() {

  // Only change code below this line.

};

var myCar = new Car();

var myBike = new Bike();

Your browser information:

Your Browser User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36.

Link to the challenge:
https://www.freecodecamp.org/challenges/make-object-properties-private

Use the this keyword to create public properties and methods of the current objects.

But, when You need to create private ones (not accessible from the outside of the object)instead of using the keyword this declare it with var so that it is private outside its scope.

Also try searching google esp the one’s from stackoverflow, check this article https://stackoverflow.com/questions/33908028/public-vs-private-properties-inside-constructors, and reading the comments they can be helpful sometimes.

var Car = function() {
  // this is a private variable -- USES VAR KEYWORD FOR PRIVATE
  var speed = 10;

  // these are public methods -- USES THIS KEYWORD FOR PUBLIC
  this.accelerate = function(change) {
    speed += change;
  };
};
2 Likes