336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
생성자 함수와 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 |
'[ Developer ] > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 함수 선언 (0) | 2017.01.06 |
---|---|
[JavaScript] 자바스크립트 함수 (0) | 2016.11.28 |
[JavaScript] 자바스크립트 리터럴 문법 이용한 객체 생성 (0) | 2016.11.15 |
[JavaScript] 자바스크립트 Object() 생성자 이용한 객체 생성 (0) | 2016.11.08 |
[JavaScript] 자바스크립트 논리형 (0) | 2016.10.31 |