Working with getters and setters

It is also possible to create getter and setter functions for the class attributes with ES2015. Although class attributes are not private as in other object-oriented languages (the encapsulation concept), it is good to follow a naming pattern.

The following is an example of a class declaring a get and set function along with its use:

class Person { 
  constructor(name) { 
    this._name = name; // {1} 
  } 
  get name() { // {2} 
    return this._name; 
  } 
  set name(value) { // {3} 
    this._name = value; 
  } 
} 
 
let lotrChar = new Person('Frodo'); 
console.log(lotrChar.name); // {4} 
lotrChar.name = 'Gandalf'; // {5} 
console.log(lotrChar.name); 
lotrChar._name = 'Sam'; // {6} 
console.log(lotrChar.name); 

To declare a get and set function, ...

Get Learning JavaScript Data Structures and Algorithms - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.