function Person(name) {
this.name = name
}
var person = Person('John')
console.log(person) // undefined
console.log(person.name) // Uncaught TypeError: Cannot read property 'name' of undefined
var person = new Person('John')
console.log(person) // Person { name: "John" }
console.log(person.name) // "John"
- function Person(){}: 일반적인 함수 선언
- var person = Person(): 생성자가 아니라 Person을 함수로 호출, undefined가 반환
- var person = new Person(): Person.prototype을 상속받은 new 연산자를 사용하여 Person 객체의 인스턴스를 생성
참고
'STUDY > javascript' 카테고리의 다른 글
자바스크립트의 커링(Currying)에 대해서 알아보자 (0) | 2024.11.04 |
---|---|
호이스팅(Hoisting)과 TDZ(Temporal Dead Zone) (4) | 2024.10.14 |
[자바스크립트] 프로토타입 (0) | 2024.09.27 |
쓰로틀링(Throttling)과 디바운스(Debouncing)의 차이점 (0) | 2024.09.24 |
[자바스크립트] 원시값과 참고값 (2) | 2024.09.20 |