방명록
- [JavaScript] JavaScript 배열 메서드, 무엇을 바꾸고 무엇을 반환할까?2025년 04월 18일 10시 11분 42초에 업로드 된 글입니다.작성자: DandyNow728x90반응형
JavaScript 배열 메서드, 무엇을 바꾸고 무엇을 반환할까?
JavaScript에서 배열을 다룰 때 다양한 메서드를 사용하게 된다. 하지만 각 메서드가 원본 배열을 변경하는지, 어떤 값을 반환하는지 헷갈릴 때가 많다. 이 글은 JavaScript 배열 메서드의 특징을 한눈에 파악하고자 작성했다.
배열 메서드, 꼼꼼하게 알아야 하는 이유
배열 메서드를 제대로 이해하지 못하면 예상치 못한 side effect가 발생하거나, 원하는 결과를 얻지 못할 수 있다. 특히 원본 배열을 변경하는 메서드는 주의해서 사용해야 한다.
JavaScript 배열 메서드 요약
Method Modifies Original Array Returns a Value entries No Yes fill Yes Yes filter No Yes find No Yes findIndex No Yes forEach No No includes No Yes join No Yes map No Yes pop Yes Yes reduce No Yes reverse Yes Yes shift Yes Yes slice No Yes sort Yes Yes splice Yes Yes (deleted elements or empty array) 원본 배열을 변경하는 메서드 (Mutator Methods)
fill(): 배열의 지정된 부분을 특정 값으로 채움.pop(): 배열의 마지막 요소를 제거하고, 제거된 요소를 반환.reverse(): 배열의 요소 순서를 뒤집음.shift(): 배열의 첫 번째 요소를 제거하고, 제거된 요소를 반환.sort(): 배열의 요소를 정렬.splice(): 배열의 요소를 삭제, 교체, 추가. 삭제된 요소를 담은 배열을 반환하며, 삭제된 요소가 없으면 빈 배열을 반환.
원본 배열을 변경하지 않는 메서드 (Accessor Methods)
entries(): 배열의 각 인덱스에 대한 키/값 쌍을 가지는 새로운 Array Iterator 객체를 반환.filter(): 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환.find(): 주어진 함수의 테스트를 통과하는 첫 번째 요소의 값을 반환.findIndex(): 주어진 함수의 테스트를 통과하는 첫 번째 요소의 인덱스를 반환.forEach(): 배열의 각 요소에 대해 제공된 함수를 실행.includes(): 배열이 특정 요소를 포함하는지 확인.join(): 배열의 모든 요소를 연결해 하나의 문자열로 반환.map(): 배열의 모든 요소에 대해 제공된 함수를 호출하고, 그 결과를 모아 새로운 배열로 반환.reduce(): 배열의 각 요소에 대해 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환.slice(): 배열의 일부를 추출하여 새로운 배열로 반환.
결론
이제 JavaScript 배열 메서드의 특징을 명확하게 이해하고, side effect 걱정 없이 코드를 작성할 수 있을 것이다. 꼼꼼한 이해를 바탕으로 더욱 효율적인 JavaScript 코드를 만들어 보자!
728x90반응형'언어·프레임워크 > JavaScript' 카테고리의 다른 글
[JavaScript] 객체 유효성 검사로 Proxy 이해하기 (0) 2025.04.23 [JavaScript] 리플렉트(Reflect) 완벽 정복: JavaScript 메타 프로그래밍의 숨겨진 능력 (1) 2025.04.21 [JavaScript] 안정 정렬 vs 불안정 정렬: JavaScript `sort()` 메서드의 숨겨진 진실 (0) 2025.04.18 [JavaScript] JavaScript Array.includes() 와 객체에서 구조적 동일성과 참조 동일성 문제 (0) 2025.04.17 [Javascript] call(), apply()의 공통점과 차이점 (1) 2025.03.01 다음글이 없습니다.이전글이 없습니다.댓글