📘 자바스크립트 학습 정리 (0609)
✅ 구조 분해 할당 (Destructuring)
- 배열이나 객체의 값을 개별 변수에 쉽게 할당하는 문법
const [a, b] = [1, 2];
const { name, age } = { name: '철수', age: 30 };
- 배열에서 일부 요소만 추출:
const [x, , z] = arr;
- 객체 프로퍼티 이름 변경:
const { name: userName } = user;
- 나머지 연산자:
const [a, b, ...rest] = arr;
✅ 스프레드 문법 (Spread Syntax)
- 배열 병합:
[...arr1, ...arr2]
- 배열 복사:
[...arr]
- 객체 병합:
{ ...obj1, ...obj2 }
const foods = ['치킨', '피자'];
const drinks = ['콜라', '사이다'];
const combo = [...foods, ...drinks];
✅ 단축 평가 (Short Circuit)
A && B: A가 false면 B 평가 X
A || B: A가 true면 B 평가 X
const name = null;
const displayName = name || '이름없음';
✅ 고차 함수와 콜백
- forEach: 반복 처리
- filter: 조건을 만족하는 요소들만 추출
- map: 배열 요소를 가공해서 새 배열 반환
arr.forEach((el, i) => console.log(el, i));
arr.filter(el => el > 10);
arr.map(el => el * 2);
✅ 고차 함수 실습
- 사용자 배열에서 특정 조건의 데이터 필터링 & 매핑
- 객체 배열에서 특정 필드 추출
- 특정 조건을 만족하는 객체 개수, 합산 등 계산
✅ find, findIndex
- find: 조건에 맞는 첫 객체 반환
- findIndex: 조건에 맞는 첫 인덱스 반환
✅ some / every
- some: 조건 만족하는 데이터가 하나라도 있는지
- every: 모든 데이터가 조건을 만족하는지
✅ reduce
- 배열을 누적값 하나로 축소하는 함수
- 합계, 평균, 객체 누적 등 다양한 계산 가능
const sum = arr.reduce((acc, cur) => acc + cur, 0);
✅ 정렬 sort()
- 기본 문자열 정렬
- 숫자 정렬:
arr.sort((a, b) => a - b);
- 객체 배열 정렬: 특정 속성 기준
✅ 종합 실습 - 거래 정보 분석
- 2023년 대전 거래 총액 계산
- 최고 거래액 정보 추출
- 도시별 총 거래액 객체 생성
- 도시별 거래 수 집계
- 거래액 기준 정렬 리스트 구성
✅ 총정리
- 구조 분해 할당, 스프레드 문법을 통해 데이터 처리 능력 강화
- 고차 함수와 reduce를 통해 배열을 효율적으로 조작
- 실무에 필요한 정렬, 필터링, 매핑, 조건 검사 등의 전반적인 기능을 익힘