- [JS] 생성자함수 new 와 create 차이2024년 08월 19일
- KIMJAVAN
- 작성자
- 2024.08.19.:42
728x90new 키워드
- 생성자 함수와 함께 사용되며, 자동으로 객체를 생성합니다.
- 객체가 생성되면, 그 객체는 생성자 함수의 prototype과 연결됩니다.
- 생성자 함수 내부에서 this 키워드는 새로 생성된 객체를 가리킵니다.
- 특별히 return 문이 없다면, 생성자 함수는 자동으로 새로 생성된 객체를 반환합니다.
예시:
function YalcoChicken(name, no) { this.name = name; this.no = no; } const chain3 = new YalcoChicken('제주', 24); // 새로운 객체가 생성되고 chain3에 저장됩니다.
이 경우 chain3은 YalcoChicken 생성자 함수로부터 만들어진 객체를 가리키게 됩니다.
객체 반환 함수 (createYalcoChicken 예시)
- 일반 함수로, 직접 객체를 생성하여 반환합니다.
- new 키워드를 사용하지 않으므로, 자동으로 객체가 생성되지는 않습니다.
- 함수 내부에서 객체를 명시적으로 생성하고 return 문으로 반환해야 합니다.
- 이 방법은 간단하게 새로운 객체를 생성할 때 사용됩니다.
예시:
function createYalcoChicken(name, no) { return { name: name, no: no, }; } const chain2 = createYalcoChicken('강남', 17); // 함수가 객체를 반환하고 chain2에 저장됩니다.
이 경우 chain2는 createYalcoChicken 함수가 반환한 객체를 가리키게 됩니다.
주요 차이점
- new: 생성자 함수와 함께 사용되며, 함수가 호출될 때 자동으로 새로운 객체가 생성되고 반환됩니다. 이 객체는 생성자 함수의 prototype과 연결됩니다.
- createYalcoChicken처럼 객체를 반환하는 함수: 객체를 명시적으로 생성하고, 이 객체를 반환해야 합니다. 함수의 동작은 일반적인 함수와 같으며, 특별히 프로토타입 체인과 관련된 처리가 없습니다.
그래서 요약하면, new는 객체를 생성하는 과정에서 자동으로 생성과 반환을 처리하고, create는 함수가 반환할 객체를 명시적으로 만들어서 반환하는 방식입니다.
'자바스크립트 > JavaScript' 카테고리의 다른 글
[JS] 공부기록 2024-08-20 (0) 2024.08.20 [JS] 생성과 반환의 차이 (0) 2024.08.19 [JS] 키의 동적 사용 (0) 2024.08.19 [JS] 매개변수 예제 (0) 2024.08.14 [JS] switch ~ case / 배열로 true false 처리 (0) 2024.08.12 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)