Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 프로토타입 메서드로 생성자 함수의 변수에 접근하는 방법

생성자 함수 내부의 변수에 접근하려면 프로토타입(prototype)을 사용하면 됩니다. JavaScript 객체는 프로토타입으로부터 속성과 메서드를 상속받으며, 이를 통해 생성자 함수가 가진 변수에 자유롭게 접근하고 값을 변경할 수 있습니다.

또한 변수에 접근할 때는 JavaScript의 this 키워드를 함께 사용합니다. this는 현재 객체 인스턴스 자신을 가리키므로, 프로토타입 메서드 안에서도 해당 객체의 속성을 읽고 쓸 수 있습니다.

예제 코드

function Customer(fullName){
    this.fullName = fullName;
}
Customer.prototype.setFullName = function(newFullName){
    this.fullName = newFullName;
}
var customer = new Customer("John Smith");
console.log("일반 방식으로 접근 = " + customer.fullName);
customer.setFullName("David Miller");
console.log("프로토타입 메서드 사용 = " + customer.fullName);

코드 설명

위 코드의 동작 흐름은 다음과 같습니다.

1. Customer 생성자 함수는 매개변수로 전달받은 이름을 this.fullName에 저장합니다.
2. Customer.prototype.setFullName을 통해 새로운 이름을 설정하는 프로토타입 메서드를 추가합니다.
3. new 키워드로 객체 인스턴스를 생성한 뒤, 일반 속성 접근과 프로토타입 메서드 호출의 결과를 각각 확인합니다.

실행 방법

위 프로그램을 실행하려면 다음 명령어를 사용합니다 −

node fileName.js

여기서는 파일 이름이 demo79.js라고 가정합니다.

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −

PS C:\Users\Amit\JavaScript-code> node demo79.js
일반 방식으로 접근 = John Smith
프로토타입 메서드 사용 = David Miller

이처럼 프로토타입에 정의된 메서드는 this를 통해 생성자 함수에서 만든 변수에 직접 접근할 수 있으며, 모든 인스턴스가 동일한 메서드를 공유하므로 메모리를 효율적으로 사용할 수 있다는 장점도 있습니다.