Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Static Attributes | Static
Object-Oriented Programming in JavaScript

Swipe to show menu

book
Static Attributes

As you already know, each object can have a unique attribute value, like, for example, studentA has name Andrew and studentB has name William. But sometimes it makes sense to set some static value - the common for all instances of the class.

Let's add a attribute called ageOfMajority. Obviously, the value is 18 for all Students’ objects, and can't be different for different students. We’ll add a static keyword.

1234567891011121314
class Student{ name; age; static ageOfMajority = 18 constructor(name, age){ this.name = name; this.age = age; console.log('Student created'); } } student = new Student('Robert', 22); console.log(Student.ageOfMajority);
copy

To refer to the static attribute, use the name of the class, not the object, because it is a property of the class.

Inside non-static functions, you can refer static attribute only using class name, not this keyword. Look how we refer non-static age and static ageOfMajority in method drink():

123456789101112131415161718192021
class Student{ name; age; static ageOfMajority = 18; constructor(name, age){ this.name = name; this.age = age; console.log('Student created'); } drink(){ if (this.age < Student.ageOfMajority){ console.log('I am too young, only', this.age, 'yrs old.'); } else { console.log('I am drunk.'); } } } student = new Student('Robert', 22); student.drink();
copy
Task

Swipe to start coding

Let's create function interview(), which assigns a student to the class A, if GPA >= 3.0, or class B if not. For this, define static attribute gpaLimit and assign it with 3.0, and inside interview() function compare it with student's GPA. Print message Assigned to the class A or Assigned to the class B.

Solution

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Β 3. ChapterΒ 1
We're sorry to hear that something went wrong. What happened?

Ask AI

expand
ChatGPT

Ask anything or try one of the suggested questions to begin our chat

book
Static Attributes

As you already know, each object can have a unique attribute value, like, for example, studentA has name Andrew and studentB has name William. But sometimes it makes sense to set some static value - the common for all instances of the class.

Let's add a attribute called ageOfMajority. Obviously, the value is 18 for all Students’ objects, and can't be different for different students. We’ll add a static keyword.

1234567891011121314
class Student{ name; age; static ageOfMajority = 18 constructor(name, age){ this.name = name; this.age = age; console.log('Student created'); } } student = new Student('Robert', 22); console.log(Student.ageOfMajority);
copy

To refer to the static attribute, use the name of the class, not the object, because it is a property of the class.

Inside non-static functions, you can refer static attribute only using class name, not this keyword. Look how we refer non-static age and static ageOfMajority in method drink():

123456789101112131415161718192021
class Student{ name; age; static ageOfMajority = 18; constructor(name, age){ this.name = name; this.age = age; console.log('Student created'); } drink(){ if (this.age < Student.ageOfMajority){ console.log('I am too young, only', this.age, 'yrs old.'); } else { console.log('I am drunk.'); } } } student = new Student('Robert', 22); student.drink();
copy
Task

Swipe to start coding

Let's create function interview(), which assigns a student to the class A, if GPA >= 3.0, or class B if not. For this, define static attribute gpaLimit and assign it with 3.0, and inside interview() function compare it with student's GPA. Print message Assigned to the class A or Assigned to the class B.

Solution

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Β 3. 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