본문으로 바로가기

this 주요 목적

new 연산자와 생성자 함수로 인스턴스를 만드는 목적 중에서 가장 주된 목적은 생성된 인스턴스마다 다른 값을 설정,유지하기 위해서이다. 




this 키워드를 사용해서 인스턴스마다 값을 설정하고 유지하는 예제 코드

JavaScript
var title = function(opt) {
    this.opt = opt;
};

title.prototype = {
    getValue: function() {
        return this.opt;
    }
}

// 인스턴스 생성
var one = new title(100);
var two = new title([200,300]);
one.opt = 77;

console.log(one.getValue()); // 77
console.log(two.getValue()); // [200, 300]


new title(100); 생성자 함수를 실행하면 파라미터로 넘겨준 100이 생성한 인스턴스의 프로퍼티로 설정된다.

따라서 인스턴스마다 값을 각각 설정할 수 있다. 

인스턴스 메소드에서 인스턴스에 값을 설정하면 같은 인스턴스에 속한 다른 메소드에서 this로 접근할 수 있다. 

생성한 인스턴스에서 title.prototype에 연결된 프로퍼티를 참조,공유한다.

이것이 인스턴스를 생성하는 주요 목적이며, this의 주된 목적이다.


위 코드 one.opt = 77; one 인스턴스의 opt 프로퍼티에 77을 할당하면 one 인스턴스에만 설정될 뿐이지 two  인스턴스에는 설정되지 않는다. 

이처럼 one 인스턴스의 값을 바꾸어도 two 인스턴스에는 영향을 미치지 않는다.

인스턴스에서 this 키워드 사용은 인스턴스마다 다른 값을 가지기 위함이다. 



Jaehee's WebClub