Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Private Modifier | Encapsulation
Object-Oriented Programming in JavaScript
course content

Course Content

Object-Oriented Programming in JavaScript

Object-Oriented Programming in JavaScript

1. Classes & Objects
2. Encapsulation
3. Static
4. Inheritance

book
Private Modifier

Encapsulation is a process of control and validating the behavior of the class and class intances. Our Student has name and age attributes, and the user can access them from any place of program, and, of course, change it. Seems that it is not the best approach – you created a student with the name Mary, and suddenly you want to change it directly, or you want to change the age, and you assign it with some non-correct value, for example, -12.

That’s why there is an access modifier private: to forbid access to the attributes or method. You can access it only inside the class(for example, inside the method’s body). By default, all methods and attributes are public: you can access them anywhere in your program.

To make properties private, use #.

12345678910111213141516171819202122
class Student{ #name; #university; #age; #gpa; constructor(name, age){ this.#name = name; this.#age = age; console.log('Student created'); } sleep(){ console.log('I am sleeping right now!'); } happyBirthday(){ this.#age += 1; console.log('Today is my birthday'); } } student = new Student('Robert', 22);
copy
Task
test

Swipe to show code editor

Make age and name attributes public and let other attributes be private. Implement the constructor and then create a Student object and output the name of this object.

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 2. Chapter 1
toggle bottom row

book
Private Modifier

Encapsulation is a process of control and validating the behavior of the class and class intances. Our Student has name and age attributes, and the user can access them from any place of program, and, of course, change it. Seems that it is not the best approach – you created a student with the name Mary, and suddenly you want to change it directly, or you want to change the age, and you assign it with some non-correct value, for example, -12.

That’s why there is an access modifier private: to forbid access to the attributes or method. You can access it only inside the class(for example, inside the method’s body). By default, all methods and attributes are public: you can access them anywhere in your program.

To make properties private, use #.

12345678910111213141516171819202122
class Student{ #name; #university; #age; #gpa; constructor(name, age){ this.#name = name; this.#age = age; console.log('Student created'); } sleep(){ console.log('I am sleeping right now!'); } happyBirthday(){ this.#age += 1; console.log('Today is my birthday'); } } student = new Student('Robert', 22);
copy
Task
test

Swipe to show code editor

Make age and name attributes public and let other attributes be private. Implement the constructor and then create a Student object and output the name of this object.

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 2. Chapter 1
Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
We're sorry to hear that something went wrong. What happened?
some-alt