정적 메서드 Static methods

오주형·2023년 1월 28일
0
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()); // Lisa Oh
console.log(lisa.getFullName()); // Ju Oh
console.log(User.isUser()); // true
console.log(lisa.isUser()); // Uncaught TypeError
  • 일반 메서드, 프로토타입 메서드는 기본적으로 인스턴스에서 사용하는 메서드
  • 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)); // true
console.log(User.isUser(ju)); // true
console.log(User.isUser(kevin)); // false
profile
곧 개발자

0개의 댓글