ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정적 메서드와 정적 프로퍼티
    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

    댓글

Designed by Tistory.