class User {
constructor(first, last) {
this.firstName = first
this.lastName = last
}
getFullName() {
return `${this.firstName} ${this.lastName}`
}
static isUser() {
return true
}
}
const lisa = new User('Lisa', 'Oh');
const ju = new User('Ju', 'Oh');
console.log(lisa.getFullName());
console.log(lisa.getFullName());
console.log(User.isUser());
console.log(lisa.isUser());
- 일반 메서드, 프로토타입 메서드는 기본적으로 인스턴스에서 사용하는 메서드
- static 키워드가 붙어있는 정적 메서드는 인스턴스에서는 사용할 수 없고, class 자체에서 사용해야한다
class User {
constructor(first, last) {
this.firstName = first
this.lastName = last
}
getFullName() {
return `${this.firstName} ${this.lastName}`
}
static isUser(user) {
if (user.firstName && user.lastName) {
return true
}
return false
}
const lisa = new User('Lisa', 'Oh');
const ju = new User('Ju', 'Oh');
const kevin = {
name: 'Kevin Kim',
age: 56
}
console.log(User.isUser(lisa));
console.log(User.isUser(ju));
console.log(User.isUser(kevin));