본문 바로가기

Today I Learned

모던 자바스크립트 Deep Dive 27장 배열

배열이란?

배열은 여러 개의 값을 순차적으로 나열한 자료구조다. 배열은 객체 타입이지만 일반 객체와는 다르게 length 프로퍼티와 값의 순서를 가진다. 배열은 객체이기 때문에 delete 연산자를 사용할  있다.

희소배열은 배열의 요소가 연속적으로 이어져있지 않은 배열을 말한다. 희소 배열의 length 배열 요소의 개수는 일치하지 않는다. 요소가 연속적으로 이어진 배열을 밀집 배열이라고 한다.

배열 메서드에는 원본 배열을 변경하는 메서드인 mutator method 원본 배열을 변경하지 않고 새로운 배열을 생성하는 메서드인 accessor method 있다. 되도록이면 accessor method 사용하는 것이 좋다.

push, shift, unshift 메서드는 모두 원본 배열을 변경한다. 이것들보다 ES6 스프레드 문법을 사용하는 편이 좋다.

const arr = [1, 2];
const newArr = [ ...arr, 3];

고차함수란?

고차함수는 함수를 인수로 전달받거나 함수를 반환하는 함수를 가리킨다. 불변성을 지향하는 함수형 프로그래밍에 기반을 두고 있다.

forEach 메서드는 for문을 대체할 있고 가독성이 좋다. for 문과 달리 메서드 자신 내부에서 반복문을 실행한다. 원본 배열을 변경하지 않으나 콜백 함수를 통해서 원본을 변경할 있다.

some 메서드는 배열일 경우 항상 false 반환한다. 반면, every 메서드는 배열일 경우 항상 true 반환한다.