[ Developer ]/JavaScript
[JavaScript] 자바스크립트 생성자 함수와 new 연산자
김현섭.
2016. 11. 16. 08:49
생성자 함수와 new 연산자
자바스크립트 객체를 생성하기 위해 "new" 연산자와 함께 생성자 함수를 호출할 수도 있다. 다음 예제를 보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<script type="text/javascript">
function User(name){
this.name = name;
this.id = 123;
this.sayHello = function(){
console.log("Hello, I am " + name);
};
};
var user1 = new User("Tom");
var user2 = new User("Jerry");
user1.sayHello(); // Hello, I am Tom
user2.sayHello(); // Hello, I am Jerry
</script>
|
cs |
생성자 함수는 다음과 같은 단계를 거친다.
- 빈 객체를 생성: this = {}
- 그런 다음 생성자 함수가 실행되어 프로퍼티와 메서드가 this 객체에 추가됨
- this 객체를 반환
참고: 어떤 함수가 "new" 연산자와 함께 자바스크립트 객체를 생성하는 데 사용되면 대개 해당 함수의 첫 번째 글자는 대문자로 쓴다.
생성자 함수가 객체를 반환하면 this는 무시된다.
1
2
3
4
5
6
7
8
9
|
<script type="text/javascript">
function User(name){
this.name = name;
return {name: "Jerry"};
};
var user1 = new User("Tom");
console.log(user1.name); // Jerry
</script>
|
cs |