class BankAccount {
#balance;
#transactionHistory = [];
constructor(initialBalance) {
this.#balance = initialBalance;
}
deposit(amount) {
this.#balance += amount;
this.#transactionHistory.push(`+${amount}`);
return this;
}
withdraw(amount) {
this.#balance -= amount;
this.#transactionHistory.push(`-${amount}`);
return this;
}
get summary() {
return `Balance: ${this.#balance} | Transactions: ${this.#transactionHistory.join(", ")}`;
}
static hasPrivateBalance(obj) {
return #balance in obj;
}
}
const account = new BankAccount(100);
account.deposit(50).deposit(25).withdraw(30);
console.log(account.summary);
console.log(BankAccount.hasPrivateBalance(account));
console.log(BankAccount.hasPrivateBalance({})); Post #3315
2.37K
CHALLENGE
- ❤ 7
- 🔥 5
- 🤔 1