[JSInfo] 생성자 함수 (+new 연산자)

유사한 객체를 여러 개 만들어야 할 때 사용됩니다. new 연산자와 생성자 함수를 사용하면 유사한 객체 여러개를 쉽게 만들 수 있습니다.

생성자 함수도 결국에는 일반 함수입니다. (일반 함수와 구분하기 위해 첫 글자를 대문자로 적을 뿐..)

생성자 함수

일반 함수와의 기술적인 차이는 없습니다.
주의사항 생성자 함수는 첫 글자를 대문자로 시작해야합니다. 반드시 'new' 연산자를 붙여 실행해야 합니다.

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

let user = new User("KJ");

console.log(user.name); // KJ 출력
console.log(user.isAdmin); // false 출력

생성자와 return

일반적으로 생성자 함수에는 return이 없습니다. (자동 반환되기 때문에 명시적으로 사용할 필요가 없습니다.) 하지만 return 이 있다면 자동반환을 무시하고 다른 객체가 반환됩니다.

ex) return의 자동 반환을 무시하고 객체를 반환하는 예

function Animal(){
    this.name = "Tiger";

    return {name: 'Lion'};
}

console.log(new Animal().name); // Lion 반환

ex) return 없는 경우

function Animal(){
    this.name = 'Tiger';
}

console.log(new Animal().name); // Tiger 반환

생성자 함수를 통해 객체를 자유롭게 구성할 수도 있습니다.
ex)

function User(name){
    this.name = name;

    this.greeting = function (){
        console.log("제 이름은" + this.name + "입니다.");
    };
}

let kj = new User("KJ"); // 제 이름은 KJ입니다.

kj.greeting();

좋은 웹페이지 즐겨찾기