본문 바로가기

자바스크립트

new 연산자와 생성자 함수

// 생성자 함수
// 1. 함수 이름의 첫 글자는 대문자로 시작한다.
// 2. 반드시 "new" 연산자를 붙여 실행한다.

function Member(name) {
    this.name = name;
    this.isAdmin = false;
}

let member = new Member("devjones");

alert(member.name);   // devjones
alert(member.isAdmin);    // false

 

new Member(name)을 실행하면...

1. 빈 객체를 만들어 this에 할당한다.

2. 함수 본문을 만들어 실행한다. this에 새로운 프로퍼티를 추가해 this를 수정한다.

3. this를 반환한다.

 

function Member(name) {
    // this = {};   빈 객체가 암시적으로 만들어짐.

    // 새로운 프로퍼티를 this에 추가함.
    this.name = name;
    this.isAdmin = false;

    // return this;     this를 암시적으로 반환
}

 

let member = new Member("devjones");는 아래 코드와 동일하게 동작한다.

 

let member = {
    name : 'devjones'
    ,isAdmin : false
}

 

new Member("devjones") 외에도 new Member("grindman") 등 손쉽게 사용자 객체를 만들 수 있다.

 

생성자 함수의 의의 : 재사용할 수 있는 객체 생성 코드를 구현한다.

 

 

출처:

ko.javascript.info/constructor-new

'자바스크립트' 카테고리의 다른 글

자바스크립트와 call by  (0) 2021.11.29
대입 연산자 '=' 에 대하여  (0) 2021.06.13
User Agent  (0) 2020.12.05
ajax  (0) 2020.11.20
크롬 디버깅  (0) 2020.11.20