js-object_const_fnc객체생성자함수

쁘띠경·2024년 8월 5일

js

목록 보기
29/41

객체생성자 함수(object Contructor Function)

내장객체를 생성할때는 이미 자바스크립트 엔진에 내장되어 있는 객체 생성자 함수를
사용해서 객체를 생성한다. 객체 생성자 함수의 이름의 첫글자는 대문자로 쓰는 것이 관례이다.

    [기본형]
    function 함수명(매개변수1, 매개변수2...){
    this.속성명 = 새값;
    this.함숨명 =function(){
    자바스크립트코드;
        }
    }

    1. let 참조변수 = new 함수명(); <-객체 생성자 함수 호출문
    2. let 참조변수 = {속성은:새 값,
    함수명:function(){...}
    }

    어떤 방법도 상관없지만 안전하게 let보다는 const로 사용해주는게 안전하게 보관 할 수 있다. 객체생성자는 무조건 첫글자를 대문자로 써주는 것이 좋다. 
    
    
    
    
    
    
    
    
    
 function CheckWeight(
        name = "이름을 입력해주세요",
        height = 0,
        weight = 0
      ) {
        //사용자의 이름을 this(객체)의 userNamae속성에 할당함.
        this.userName = name; //사용자의 이름
        this.userHight = height; //사용자의 키
        this.userWeight = weight; //사용자의 체중
        this.minWeight; //평균몸무게를 구하기 위한 오차범위 = 새로 추가해준 속성
        this.maxWeight; //평균몸무게를 구하기 위한 오차범위 = 새로 추가해준 속성

        //사용자의 정보를 단순 출력해주는 함수
        this.getInfo = (() => {
          let str = "";
          str += "이름 : " + this.userName + ",";
          str += "키 : " + this.userHight + ",";
          str += "체중: " + this.userWeight + "</br>";

          return str;
        }).bind(this);  //bind는 this가 정확히 누구인지 알려주는 역할을 함. 
        
        

        //체중을 구해주는 함수
        this.getResult = function() {
          // 평균체중의 오차범위
          this.minWeight = (this.userHight - 100) * 0.9 - 5; //-5는 최소 오차범위이다. ;
          this.minWeight = (this.maxHeight - 100) * 0.9 + 5; //-5는 최대 오차범위이다. ;

          //평균체중보다 5키로가 적어도 true고 평균체중보다 5키로가 많아도 true이다 식
          if (
            this.userWeight >= this.minWeight &&
            this.userWeight <= this.maxWeight
          ) {
            return "정상몸무게입니다. ";
          } else if (this.userWeight < this.minWeight) {
            return "당신은 정상몸무게보다 미달입니다.";
          } else {
            return "정상 몸무게보다 초과입니다.";
          }
        };
      }
      let 김땡땡 = new CheckWeight("김땡땡", "175", "65");
      console.log(김땡땡);


객체는 각각 다른 기계이다.
ex)빵틀을 만들어놀고 비슷한 모양을 생성할떄 사용하는 것이다.


객체를 더 추가해서 여러가지 응용으로 넣어줄 수 있다.


콘솔로그 했을 때 값이 잘 넘어간 걸 볼 수 있다.
하지만 함수는 들어가지 않았다 와이??
버튼 안 눌러서 출력이 안 된 것이다 !!
하지만
중괄호로 감싸져있는 걸 볼 수 있다.
이것은 객체가 나왔다고 알 수 있는 것이다.

사실 변수 이름 한글로 지어도 오류가 안 난다. 하지만 실무에선 그럴 일이 없기에 무조건 변수이름은 영어로 짓기로 약속!

    -------------------------------------------
    예제
    
    
    
    


함수는

console.log(박땡땡.getInfo());
console.log(박땡땡.getResult());
    를 출력해줘야 나온다. 
    
    
 객체생성자 함수는 this를 입력받지 못 한다 그래서 function(){}이나 bind를 사용해서 읽을 수 있게 할 수 있다. 
 
    
    
    
    
    
    
    
profile
안녕하세요 ! 발전을 위해 매일 도전하는 퍼블리셔 류영경입니다.

0개의 댓글