생성자 함수
- 유사한 객체를 다중으로 만들 때 사용되는 함수 ( 타 언어에서 class 개념과 유사)
- 일반적으로 생성자 함수의 첫 글자는 대문자로 시작
- 생성자 함수로 객체 생성 시 new 연산자를 통해 객체 생성
function Fishbread(flavor, price) {
this.flavor = flavor;
this.price = price;
this.base = "floor";
}
let bread_1 = new Fishbread("cream", 1200);
let bread_2 = new Fishbread("readbean", 1000);
let bread_3 = new Fishbread("milk", 1500);
console.log(bread_1); //Fishbread { flavor: 'cream', price: 1200, base: 'floor' }
console.log(bread_2); //Fishbread { flavor: 'readbean', price: 1000, base: 'floor' }
console.log(bread_3); //Fishbread { flavor: 'milk', price: 1500, base: 'floor' }
new.target
- new.target이 없을때 new 키워드 추가하여 호출되도록 처리
// new가 없으면 붙여주는 스마트한 생성 함수
function User(name) {
if (!new.target){
return new User(name);
}
this.name = name;
};
let result_1= User("John");
let result_2= new User("John");
console.log(result_1);//User { name: 'John' }
console.log(result_2); //User { name: 'John' }
반응형
'자료구조,알고리즘 > Java Script 기초' 카테고리의 다른 글
JS기초 14 : Set (0) | 2022.07.25 |
---|---|
JS기초 13 : Collection, Map, Object 변환 (0) | 2022.07.24 |
JS기초 11 : 고차함수2 for Each, map, find, filter, reduce (0) | 2022.07.24 |
JS기초 10 : 고차함수, sort()문제, 해결, 정렬 (0) | 2022.07.21 |
JS기초 9 : 배열 탐색, 정렬, 반전, 문자열 변환 (0) | 2022.07.20 |
댓글