-
[JavaScript] 생성자개발/JavaScript 2022. 9. 11. 16:02
객체를 생성하는 함수를 생성자 함수라고 부릅니다. 다른 언어에서는 class가 있즈민 자바스크립트에서는 없기 때문에 생성자 함수를 이용하여 그 역할을 대신 합니다.
생성자 함수의 필요성
- 여러개의 동일한 프로퍼티를 가지는 객체를 생성하기 위해서 필요.
- Prototype을 이용하여 메모리 절감을 위해서 필요.
생성자 함수의 형태
- 생성자명 : 대문자로 시작 (일반 함수와 구별을 하기 위한 암묵적인 규칙? 관례)
- 내부의 식별자 선언(var 식별자) 없음
- 내부의 메소스 선언(var 식별자 = function (){}) 없음
- "this.프로퍼티"를 통해서 프로퍼티 명시만 가능
생성자 함수의 사용법
- new 키워드를 통하여 생성자 함수를 호출한다.
- ex) var 생성자 = new 생성자명();
- 생성자 함수 생성 과정 분석
- new 키워드는 빈 객체 {}를 생성 합니다.
- 생성자 함수는 빈 객체에 생성 할 프로퍼티를 정의합니다.
- 함수의 인수들을 프로퍼티에 할당합니다.
- 생성된 Student 객체를 student에 할당합니다.
생성자 함수에서 사용되는 함수 정의
1. 생성자 내부에 함수 정의
function Student(_name, _math, _eng) { this.name = _name, this.math = _math, this.eng = _eng, this.score = function allinfo() { return "Student name :" + this.name + "score math : " + this.math + "eng : " + this.eng; } } //출력 결과 : Student name :영수score math : 93eng : 11
2. Prototype을 사용한 함수 정의
function Student(_name, _math, _eng) { this.name = _name, this.math = _math, this.eng = _eng } Student.prototype.score = function allinfo() { return "Student name :" + this.name + "score math : " + this.math + "eng : " + this.eng; } // 출력 결과 : Student name :영수score math : 93eng : 11
'개발 > JavaScript' 카테고리의 다른 글
[JavaScript] null 병합 할당 연산자 (0) 2023.03.19 [JavaScript] es6 문법 정리 (2) 2022.09.14 [JavaScript] addEventListener (0) 2022.08.26 [JavaScript] RegExp 객체 (0) 2022.08.15 [JavaScript] 정규표현식 모음 (0) 2022.08.05