자바스크립트 함수 2
Javascript 2011. 12. 7. 16:29
자바스크립트 언어는 설계상 클래스 라는 계념이 존재하지 않지만, 상황에 따라
함수가 클래스를 나타내기도 합니다.
"즉, OOP 언어의 클래스 계념이 어느정도 존재 한다고 볼 수도 있습니다."
아래 예제를 보시겠습니다.
-
function x(){
-
-
this.x = 1;
-
this.y = 2;
-
}
-
-
alert(typeof new x()); // object
-
alert(new x().x); // 1
-
alert(new x().y); // 2
1. x 함수 객체가 생성 됩니다.
2. x 함수 객체의 인스턴스 맴버 x, y를 추가 합니다.
3.
typeof new x() 의 데이터 타입은 object가 반환됩니다.
4.
new x().x 객체의 인스턴스 맴버 x값 1을 반환합니다.
5. new x().y 객체의 인스턴스 맴버 y값 2을 반환합니다.
마치 타 언어의 클래스 처럼 new 연산자와 맴버가 설계된 생성자를 통해 객체를 생성하지만, 유사성만 가질 뿐 앞서 말했던것처럼 자바스크립트는 클래스가 존재 하지 않습니다.
즉, "자바스크립트"에서 객체는 단순히 "key/value"로 구성되며, 언제든 생성하고 변경할 수 있습니다.