1일1끄적

자바스크립트 입문, 함수-4 객체 생성자 함수 본문

개발/javascript

자바스크립트 입문, 함수-4 객체 생성자 함수

inkor 2021. 12. 15. 01:06

※객체 생성자 함수

내장 객체를 생성할 떄는 자바스크립트 엔진에 내장되어 있는 객체 생성자 함수 (Object Constructor Function)을사용하여 객체를 생성한다. 

 

function 함수명(매개변수1, 매개변수2...매개변수n){ //객체 생성자 함수
  this.속성명 = 새 값;
  this.함수명 = function(){
 	 자바스크립트 코드;
  }
}

var 참조 변수(인스턴스 네임) = new 함수명();    // 객체 생성

var 참조 변수 = { 속성 : 새 값, 함수명 : function(){...}}

 

○ 객체 생성자 함수 예제 

<script>
  function CheckWeight(name, height, weight){
    this.userName = name;
    this.userHeight = height;
    this.userWeight = weight;
    this.minWeight;
    this.maxWeight;

    this.getInfo = function(){
      var str =""
      str += "이름:" + this.userName + ",";
      str += "키:" + this.userHeight + ",";
      str += "몸무게:" + this.userWeight + ",";
      return str;
    }

    this.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 "정상 몸무게보다 초과입니다"
      }
    }
  }

  var jang = new CheckWeight("장보리", 168, 62);
  var park = new CheckWeight("박달재", 180, 88);
  var inkor = new CheckWeight("인코", 178, 96);
  
  document.write(inkor.getInfo());
  document.write(inkor.getResult());

</script>

 

○ 메모리 절약을 위한 프로토타입 사용하기

객체를 생성하면 객체를 생성한 만큼 함수가 등록되며, 함수를 여러개 등록하면 메모리 공간을 많이 차지하여
메모리를 낭비하게 된다. 이럴 떄는 객체 생성자 함수에 프로토타입(Prototype)을 사용하여 함수를 등록하면

메모리 낭비를 줄일 수 있다.

프로토타입(Prototype)의 사전적 의미는 '원형이다. 자바스크립트에서 '원형'은 객체 생성자 함수를 의미한다.

프로토타입을 사용하여 등록한 함수는 원형(객체 생성ㅈ ㅏ함수)에서 생성된 객체를 공유할 수 있다.

즉, 여러 개의 함수를 등록할 필요가 없다.

function 함수명(매개변수1, 매개변수2, ...매개변수n){
 this.속성명 = 새 값;
}

함수명.prototype.함수명 = function(){
	자바스크립트 코드;
}

var 참조 변수(인스턴스 네임) = new 함수명();

 

○ 내장 함수

자바스크립트 엔진에 내장된 함수. 개발자가 함수를 직접 선언하지 안하도 되며, 바로 호출해서 사용할 수 있다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects

 

표준 내장 객체 - JavaScript | MDN

이 장은 JavaScript의 모든 표준 내장 객체와 그 메서드 및 속성을 나열합니다.

developer.mozilla.org

 

-출처: 자바스크립트+제이쿼리입문 책 중

http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791163030034&orderClick=LAG&Kc=

Comments