* fix: restructure certifications guide articles * fix: added 3 dashes line before prob expl * fix: added 3 dashes line before hints * fix: added 3 dashes line before solutions
966 B
966 B
title
| title |
|---|
| Use Closure to Protect Properties Within an Object from Being Modified Externally |
Use Closure to Protect Properties Within an Object from Being Modified Externally
Problem Explanation
Just like in the example given, rather than declaring the weight variable with the this keyword, the let keyword must be used to declare it as a private variable. This way it can only be accessed inside the Bird function. The getWeight method must then be added inside the Bird function to access the weight variable.
Solutions
Solution 1 (Click to Show/Hide)
function Bird() {
let weight = 15;
this.getWeight = function() {
return weight;
};
}
Solution 1 (Click to Show/Hide)
In ES6 syntax we can make the function a bit less verbose:
function Bird() {
let weight = 15;
this.getWeight = () => weight;
}