반응형
✅공통점
자바스크립트에서 findIndex()와 indexOf()는 둘 다 배열(Array)에서 특정 값을 찾는 메서드이다.
하지만 둘 사이에는 몇 가지 중요한 차이점이 있다.
❌차이점
비교 방식의 차이
findIndex()
: 배열의 각 요소에 대해 콜백 함수를 실행하며, 콜백 함수의 반환값이 true인 첫 번째 요소의 인덱스를 반환한다. 즉, 콜백 함수에 사용자 정의의 비교 로직을 적용할 수 있다.indexOf()
: 주어진 값과 배열의 요소를 엄격한(===) 비교를 통해 찾는다. 값의 타입과 값이 모두 일치하는 요소를 찾아 인덱스를 반환한다.
사용 가능한 환경의 차이
findIndex()
: ECMAScript 2015(ES6)에서 도입된 메서드로, 브라우저 및 일부 환경에서 지원하지 않을 수 있다. 이 경우 폴리필(polyfill)을 사용하여 지원할 수 있다.indexOf()
: ES5에서 도입된 메서드로, 대부분의 브라우저와 환경에서 지원된다.
🪄결론
따라서, findIndex()
는 보다 유연한 비교 로직을 적용할 수 있고, ES6 이후의 환경에서 사용 가능하다.
반면에 indexOf()
는 간단한 값의 탐색에 적합하고 ES5 이상의 환경에서 지원된다.