반응형
1. JavaScript는 생성자라는 개념이 없다.
Ex)
function member(name, age){
this.name = name;
this.age = age;
}
function member(){
this.name = '홍길동';
this.age = 20;
}
결론 : 이러한 경우 아래의 function이 위의 function을 덮어쓴다.
2. 객체 생성
- 객체 생성의 경우 Java와 비슷하게 var member = new Member()와 같이 객체생성을 하지 않는다.
- 객체 생성의 경우 리터럴 형식을 사용한다.
Ex) var member = {
name : '홍길동',
age : 20
};
3. 객체의 비교
- Call by Value
Ex) var a = 10;
var b = a;
a++;
console.log(a + ', ' + b);
결과 : 11 , 10
- Call by Reference
Ex) var o1 = {
num : 10;
}
var o2 = o1;
o1.num++;
o2.num++;
console.log(o1.num+', '+o2.num);
결과 : 12, 12
> CallbyValue의 경우 각각의 하나의 값을 바라보지만, CallbyReference의 경우 객체의 주소를 같이 바라보고 있기 때문에 예제와 같이 한 곳의 값이 바뀌면 둘다 값의 변경이 이루어진다.
반응형