프로토타입 함수

프로토타입(Prototype)의 사전적 의미는 "원형"입니다. 자바스크립트에서 "원형"은 객체 생성자 함수를 의미합니다. 프로토타입을 사용하여 등록한 함수는 원형(객체 생성자 함수)에서 생성된 객체를 공유할 수 있습니다. 즉 여러개의 함수를 등록할 필요가 없습니다.

프로토타입 함수

function 함수명 (매개변수1, 매개변수2,......)( this .속성명 = 새값; } 함수명.prototype.함수명=function(){ 자바스크립트 코드; ) let 참조 변수(인스턴스 네임) = new함수명();

function CheckWeight(name, height, weight){
    this.userName = name;
    this.userHeight = height;
    this.userWeight = weight;
    this.minWeight;
    this.maxWeight; 
}
CheckWeight.prototype.getInfo = function(){
    let str = "";
    str += "이름: " + this.userName + ", ";
    str += "키: " + this.userHeight + ", ";
    str += "몸무게: " + this.userWeight + ", ";
    return str;
    
}
CheckWeight.prototype.getResult = function(){
    this.minWeight = (this.userHeight - 100) * 0.9 - 5;
    this.maxWeight = (this.userHeight - 100) * 0.9 + 5;

    if( this.userWeight >= this.minWeight && this.userWeight <= this.maxWeight){
        return "정상 몸무게입니다.";
    } else if( this.userWeight < htis.minWeight){
        return "정상 몸무게보다 미달입니다.";
    } else {
        return "정상 몸무게보다 초과입니다.";
    }

}

let hwang = new CheckWeight ("민정","162","50");

document.write(hwang.getInfo());
document.write(hwang.getResult());
function You4(name,job){
    this.name = name;
    this.job = job;
}
You4.prototype.study = function(){
    document.write("내이름은 "+this.name+"이며, 내직업은"+this.job+"입니다.<br>");
}
let char3 = new You4("웹쓰","웹퍼블리셔");
let char4 = new You4("웹스토리보이","프론트앤드 개발자");
char3.study();
char4.study();

Last updated

Was this helpful?