// 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');
객체지향 class를 복사하는 extends / super (0) | 2021.09.07 |
---|---|
constructor, prototype 특징 (0) | 2021.08.26 |
Spread,rest 파마미터 (0) | 2021.08.26 |
함수 arguments 말고 rest 파라미터 (0) | 2021.08.25 |
자바스크립트 함수 default parameter/arguments (0) | 2021.08.24 |