티스토리 뷰

320x100

Javascript

= Java의 문법 + Scheme의 1종 함수(first-class function) + Self의 프로토타입 기반 상속 개념


first class citizen (1급 시민)

  • 변수에 담을 수 있다.
  • 인자로 전달할 수 있다.
  • 반환값으로 전달할 수 있다.

first class object (1급 객체)

  • 객체를 1급 시민으로 취급한다.

first class function (1급 함수)

  • 함수를 1급 시민으로 취급한다.
  • 런타임 생성이 가능하다. 
  • 익명으로 생성이 가능하다.


프로토타임 기반 상속 개념

클래스 기반 언어와 달리 프로토타입은 동적으로 확장될 수 있다.



타입(Type)

1. 원시타입

- 숫자(number), 문자열(string), boolean, null, undefined, symbol
- immutable(값으로 비교)

- null: 일반적인 프로그램 수준에서, 일반적으로 또는 예상 가능한 값 부재 상황 표현.
- undefined: System 수준에서 예기치 않은 상황에 발생한 오류성 값 표현.

타입 변환 숙어(idiom)
- a + "" // String(a)
- +a // Number(a)
- !!a // Boolean(a)

심볼(symbol)

2. 객체타입

- Object(), String(), Number(), RegExp(), Date(), ...

- mutable(참조로 비교)


프로퍼티 속성

- 쓰기(writable) 값 수정 여부

- 열거(enumerable)

- 설정(configurable) 프로퍼티 삭제 가능 여부, 프로퍼티 속성 변경 가능 여부.


객체 속성

- prototype: 상속 받은 프로퍼티들을 가진 객체를 참조.

- class: 객체의 자료형을 특정 짓는 문자열. ?????

- extensible: 객체에 새 프로퍼티를 추가할 수 있는지 여부.

320x100

'Web 개발 > 자바스크립트' 카테고리의 다른 글

[JSON] 기초  (0) 2018.11.14
[JS] 배열 메서드  (0) 2018.11.14
[JS] ES2015+ (ES6)  (0) 2018.11.14
[JS] 호이스팅(Hoisting)과 클로저(Closure)  (0) 2018.11.12
[JS] 함수(function)  (0) 2018.11.12
댓글