음악, 삶, 개발

Constructor function 의 비밀 본문

개발 Web/JS

Constructor function 의 비밀

Lee_____ 2021. 3. 12. 01:49

아래는 Constructor function 의 예이다.

function Person(name, age) {

    // this = {} <-- 이게 생략

    this.name = name 
    this.age = age

    // return this <-- 이게 생략

}

const p = new Person('kim', 30)

console.log(p) // Person { name : 'kim', age : 30 }

JS 에서 이 Constructor function 을 보았을때, 매우 혼란스러웠다.

아무것도 return 하지않는데 어떻게 객체를 생성해주는지.

내부적으로 this 와, this 의 return 이 생략되어있다고한다.

여전히 혼란스러운 문법이라 Class 를 사용하는것이 낫다고 생각한다.