프로토타입 함수

프로토타입(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 < this.minWeight) {
        return "정상 몸무게보다 미달입니다.";
    } else {
        return "정상 몸무게보다 초과입니다.";
    }
}

let hwang = new CheckWeight("웹쓰","180","75");
document.write(hwang.getInfo());
document.write(hwang.getResult());
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;
}

let hwang = new CheckWeight("강슬기","161","44");

Last updated

Was this helpful?