1.2 자바스크립트 이해하기
객체, 함수, 클로저는 서로 긴밀한 관계를 맺고있다.
1.3 크로스 브라우저 고려하기
각 브라우저에 국한된 특이점들(quirks)이 있고 이를 처리해야 한다.
이 이슈들을 해결하기 위한 종합적인 전략을 개발하는 것과
개별 브라우저 간의 차이점과 특이점들을 깊이 이해해야 한다.
어떤 브라우저를 어느 수준까지 지원할것 인가? - "*등급별 브라우저 지원"
*브라우저와 플랫폼의 조합을 나타내는 표 - A ~ F 또는 정리한 등급표시
고려사항
- 대상 이용자가 기대하는 바와 필요로 하는 것들
- 브라우저 시장 점유율
- 브라우저를 지원하는데 드는 노력
3.함수가 핵심이다.
함수 >>> *1종 객체(first-class object)
함수가 객체와 같은 지위를 가지며, 일반적인 다른 객체 처럼 취급이 가능하다.
변수를 통해 함수를 참조할 수 있고, 리터럴로 함수를 선언할 수 있으며
함수를 다른 함수의 매개변수로 전달 할 수 있다.
자바 명령문
1 2 3 4 5 | Arrays.sort(values, new Comparator<integer>(){ Public int compare(Integer value1, Integer Value2){ return value2 - value1 } }); | cs |
함수형 접근방식을 사용한 자바스크립트 코드
1 2 3 | value.sort(function(value1, value2){ return value2 - value1 }); | cs |
1종 객체로서의 함수(1종 객체의 특징이기도 하다)
- 리터럴로 생성될 수 있다.
- 변수, 배열 엘리먼트, 다른 객체의 프로퍼티에 할당 될 수 있다.
- 함수의 인자로 전달 될 수 있다.
- 함수의 결과 값으로 반환 될 수 있다.
- 동적으로 생성된 프로퍼티를 가질 수 있다.