오늘 한 일
- ES6 함수의 추가 기능
- 배열
배운 것
- 화살표 함수 내부의 this, super, arguments를 참조하면 (화살표 함수가 아닌) 상위 스코프의 것을 참조한다
- Rest 파라미터: 함수에 전달된 인수 목록을 배열로 전달받음
- 화살표 함수로 가변 인자 함수를 구현해야 할 때는 반드시 rest 파라미터 사용
- 매개변수 기본값 (매개변수에 인자를 전달하지 않은 경우와 undefined를 전달한 경우에만 유효)
- 자바스크립트 배열은...
- 객체 타입이다
- 요소 각각의 메모리 공간이 동일하지 않아도 되며, 연속적으로 이어져 있지 않을 수도 있다 (희소 배열). 하지만 배열에는 같은 타입의 요소를 연속적으로 위치시키는 것이 좋다
- 인덱스를 나타내는 문자열을 프로퍼티 키로 가지며, length 프로퍼티를 갖는 특수한 객체다
- 해시테이블로 구현된 객체이므로 인덱스로 접근하는 성능은 일반 배열보다 느리지만 특정 요소 검색/삽입/삭제 시 빠른 성능을 기대할 수 있다
- 유사 배열 객체: 배열처럼 인덱스로 프로퍼티 값에 접근할 수 있고 length 프로퍼티를 갖는 객체 (for문으로 순회가능)
- 이터러블 객체: Symbol.iterator 메서드를 구현하여 for...of 문으로 순회할 수 있으며, 스프레드 문법과 배열 디스트럭처링 할당의 대상으로 사용할 수 있는 객체
(Array, String, Map, Set, DOM컬렉션, arguments...)