자바스크립트 함수 2


자바스크립트 언어는 설계상 클래스 라는 계념이 존재하지 않지만, 상황에 따라
함수가 클래스를 나타내기도 합니다.

"즉, OOP 언어의 클래스 계념이 어느정도 존재 한다고 볼 수도 있습니다."


아래 예제를 보시겠습니다.

  1. function x(){
  2.  
  3.     this.x = 1;
  4.     this.y = 2;
  5. }
  6.  
  7. alert(typeof new x()); // object
  8. alert(new x().x); // 1
  9. 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"로 구성되며, 언제든 생성하고 변경할 수 있습니다.