프로토타입 함수
프로토타입(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?