148 • Constructor Function Introduction
function User(id, username, salary) {
this.id = id;
this.u = username;
this.s = salary + 1000;
}
let userOne = new User(100, "Hassan", 5000);
150 • Properties And Methods
class User {
constructor(id, username, salary) {
this.i = id;
this.u = username || "Unknown";
this.s = salary < 6000 ? salary + 500 : salary;
}
writeMsg() {
return `Hello ${this.u} Your Salary Is ${this.s}`;
}
}
151 • Update Properties
class User {
constructor(id, username, salary) {
this.i = id;
this.u = username;
this.s = salary;
}
updateName(newName) {
this.u = newName;
}
}
152–154 • Static, Inheritance, Encapsulation
Les `static` appartiennent à la classe, `extends` permet
l’héritage, et les champs privés encapsulent les données.
155 • Prototype Introduction
Les prototypes permettent aux objets JavaScript d’hériter de
comportements communs.
class User {
constructor(id, username) {
this.i = id;
this.u = username;
}
}
User.prototype;
Generator Function
Une fonction génératrice produit des valeurs à la demande via
`yield`.
function* generateNumbers() {
yield 1;
yield 2;
}
const generator = generateNumbers();
generator.next();