상세 컨텐츠

본문 제목

Object 생성기계인 constructor

Javascript

by 모모87 2021. 8. 26. 11:52

본문

        // var 학생1 = {
        //     name: 'Kim',
        //     age: 15,
        //     sayHi: function () {
        //         console.log('안녕하세요.' + this.name + '입니다.')
        //     }
        // }
        // 학생1.sayHi();



        // constructor 문법으느 오브젝트 복사를 쉽게함

        function 기계(이름) {
            this.name = 이름;
            this.age = 15;
            this.sayHi = function () {
                console.log('안녕하세요.' + this.name + '입니다.')
            } //this: 기계에서 새로생성되는 object(instance)
              //기계: object생성기계(constructor, 생성자)
        }//constructor 이름은 대문자영어로 작성 //쉽게 생성 객체지향 문법

        var 학생1 = new 기계('나윤주'); //이러면 object 뽑힘  
        var 학생2 = new 기계('강창근'); //이러면 object 뽑힘 

        학생1.sayHi();
        학생2.sayHi();

간단 연습문제 : 쇼핑몰에 쓸 상품데이터를 오브젝트로 여러개 만들고 싶습니다. 

 

Q1. 위처럼 생긴 상품 오브젝트들을 뽑아낼 수 있는 constructor를 제작해보세요.

그리고 실제 상품 두개를 뽑아보십시오.

        function 상품(이름, 가격) {
            this.name = 이름;
            this.price = 가격;
        }
        var product1 = new 상품('shirts', '50000');
        var product2 = new 상품('pants', '60000');

 

 

Q2. 상품마다 부가세() 라는 내부 함수를 실행하면 콘솔창에 상품가격 * 10% 만큼의 부가세금액이 출력되도록 하고 싶으면

constructor를 어떻게 수정해야할까요?

        function 상품(이름, 가격) {
            this.name = 이름;
            this.price = 가격;
            this.addTax = console.log(this.price * 0.1);
        }
        var product1 = new 상품('shirts', '50000');
        var product2 = new 상품('pants', '60000');
반응형

관련글 더보기