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.
1234567891011121314class 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);
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()
:
123456789101112131415161718192021class 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();
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
.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 7.69Awesome!
Completion rate improved to 7.69
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.
1234567891011121314class 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);
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()
:
123456789101112131415161718192021class 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();
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
.
Oplossing
Bedankt voor je feedback!
single
Awesome!
Completion rate improved to 7.69
Static Attributes
Veeg om het menu te tonen
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.
1234567891011121314class 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);
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()
:
123456789101112131415161718192021class 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();
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
.
Oplossing
Bedankt voor je feedback!