-
정적 메서드와 정적 프로퍼티Study/JavaScript 2020. 6. 8. 11:03
"prototype"이 아닌 클래스 함수 자체에 메서드를 설정할 수도 있다.
이런 메서드를 정적(static)메서드라고 부른다.
정적 메서드는 아래와 같이 클래스 안에서 static 키워드를 붙여 만들 수 있다.
class User { static staticMethod() { alert(this === User); } } User.staticMethod(); //true
정적 메서드는 메서드를 프로퍼티 형태로 직접 할당하는 것과 동일한 일을 한다.
class User { } User.staticMethod = function(){ alert(this === User); }; User.staticMethod(); //true
User.staticMethod()가 호출될 때 this의 값은 클래스 생성자인 User자체가 된다. (점 앞 객체)
정적 메서드는 어떤 특정한 객체가 아닌 클래스에 속한 함수를 구현하고자 할 때 주로 사용된다.
객체 Article이 여러 개 있고 이들을 비교해 줄 함수가 필요하다고 가정해보자.
가장 먼저 아래와 같이 Article.compare를 추가하는 방법이 떠오를 것이다.
'Study > JavaScript' 카테고리의 다른 글
원시값의 메서드 (0) 2020.06.10 createElement() (0) 2020.06.08 클래스, 함수 변경해보기 (0) 2020.06.07 클래스와 기본 문법 (0) 2020.06.07 옵셔널 체이닝 '?.' (0) 2020.06.03