Classes and Methods
Getter Methods
Expose a computed value with getter syntax.
getter-method
A getter is called like a property but computes a value like a method. Keep getters simple so property reads stay predictable.
Getter Methods
getter_method.js
Replay: real traced execution (multi-file project)
const level = 2;
class UserRank {
constructor(level) {
this.level = level;
}
get label() {
return "L" + this.level;
}
}
const label = new UserRank(level).label;
console.log("level=" + level);
console.log("label=" + label);
const level = 5;
class UserRank {
constructor(level) {
this.level = level;
}
get label() {
return "L" + this.level;
}
}
const label = new UserRank(level).label;
console.log("level=" + level);
console.log("label=" + label);
const level = 9;
class UserRank {
constructor(level) {
this.level = level;
}
get label() {
return "L" + this.level;
}
}
const label = new UserRank(level).label;
console.log("level=" + level);
console.log("label=" + label);
level ← 2, this.level ← 2, label ← L2
1const level→ 2 = 2; //@level=5, 92class UserRank {3 constructor(level) {4 this.level = level2;5 }67 get label() {8 return "L" + this.level2;9 }10}1112const label→ L2 = new UserRank(level2).label;1314console.log("level=" + level2);15console.log("label=" + labelL2);outputlevel=2 label=L2
level ← 5, this.level ← 5, label ← L5
1const level→ 5 = 5;2class UserRank {3 constructor(level) {4 this.level = level5;5 }67 get label() {8 return "L" + this.level5;9 }10}1112const label→ L5 = new UserRank(level5).label;1314console.log("level=" + level5);15console.log("label=" + labelL5);outputlevel=5 label=L5
level ← 9, this.level ← 9, label ← L9
1const level→ 9 = 9;2class UserRank {3 constructor(level) {4 this.level = level9;5 }67 get label() {8 return "L" + this.level9;9 }10}1112const label→ L9 = new UserRank(level9).label;1314console.log("level=" + level9);15console.log("label=" + labelL9);outputlevel=9 label=L9