javascript 재해석


//*** micro software 2007년 4월호 내용중 정리 목적으로 포스팅합니다. ***//

1. 코어 자바스크립트 ?

  • XMLHttpRequest 등의 오브젝트는 웹브라우저의 API일뿐
  • 확장 API를 제외한 Date, RegExp 등의 오브젝트들이 코어 자바스크립트의 영역임

2. 버전들

  • ECMA : 자바스크립트 언어 표준화 기구
  • 현재 Ajax 프로그래밍은 대부분의 브라우저가 지원하는 javascript 1.5 (ECMA 3번째 개정안)을 반탕바탕으로 함

3. primitive data type

  • 기본 데이타 타입 : boolean, number(64비트 부동소수점), string
  • 참고로 ActionScript 3.0은 int, uint 도입함

4. object

  • javascript object는 해시테이블이 되기도 하고 객체지향의 오브젝트가 되기도 한다
  • 동적 객체 속성 참조
  • 오브젝트 상수를 이용한 정의 – call by name을 사용시 유용
  • 오브젝트 인자 지정

5. 함수

  • 함수가 제1클래스이다
  • 중첨함수 허용 – 특정함수에서 보조함수가 필요한 경우 네임스페이스를 깔끔하게
  • 클로저(closure) 지원 – 아래는 Rhino에서의 예제
  • 함수도 오브젝트


6. 클래스, 생성자, 프로토타입

  • 클래스 : javascript는 객체지향언어, but 클래스 개념은 없다
    1. new 연산자가 빈 오브젝트 {} 생성하여 Rectangle함수에 넘김
    2. 생성된 오브젝트는 Rectangle함수의 this를 참조할 수 있다
    3. 두개의 인자를 width, height에 값으로 세팅한다.
    4. Rectangle은 리턴값을 별도로 정의하지 않았으므로, 리턴값은 자동으로 this가 된다.
    5. 결과적으로 rect1은 {width:1, height:2}인 오브젝트가 된다.
  • 메서드 : 오브젝트의 속성으로서 함수를 사용하여 메소드 개념을 구현
  • 프로토타입 : 오브젝트 속성을 참조할때 자신의 속성을 먼저 찾고, 없으면 오브젝트 생성한 함수의 prototype 참조함, 상속의 개념을 흉내…

 

 

 
사용자 삽입 이미지

Notice

  • 이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다. 크리에이티브 커먼즈 라이선스
  • 저작권과 관련된 파일요청 및 작업요청을 받지 않습니다.
  • 댓글에 대한 답변은 늦을 수도 있습니다.
  • 2 댓글

    댓글 남기기