Javascript 내장 클래스에 사용자 정의 메소드 추가

Javascript 내장 클래스에 사용자 정의 메소드 추가

2022-10-19 last update

5 minutes reading javascript programming beginners tutorial
어떤 사람들은 이것을 알지 못하지만 실제로 문자열, 배열 등에 사용자 정의 메소드를 추가할 수 있습니다.

프로토타입



알다시피 자바스크립트의 모든 클래스에는 해당 클래스의 인스턴스가 사용할 수 있는 모든 메서드가 포함된 프로토타입이 있으며 Class.prototype 를 사용하여 액세스할 수 있습니다.

프로토타입에 메소드 추가



문자열을 뒤집는 String 프로토타입에 대해 reverse라는 메서드를 만들어 보겠습니다.

String.prototype.reverse = function() {
    let rev = "";
    for (let i = 0; i < this.length; i++) {
        rev = this[i] + rev;
    }
    return rev;
}


이제 그것이 트릭을 할 것입니다.
그래서 문제는 프로토타입도 객체이고 객체도 메소드를 가질 수 있다는 것입니다. 그래서 우리는 문자열 프로토타입 객체에 역방향 메소드를 붙였습니다. 메소드 내부의 this 키워드는 메소드를 호출한 스트링을 참조할 것입니다.
이제 그것을 사용하기 위해 우리는 단순히 다른 방법처럼 그것을 호출합니다

console.log("Hello".reverse()); //olleH


지금은 이것이 어떻게 유용할지 모르지만 알고 있으면 멋진 일이라고 생각했습니다!