includes()와 indexof() 성능 차이

남이섬·2023년 7월 14일
0

includes

includes() 메서드는 주어진 문자열이 문자열에 포함되어 있는지 여부를 확인하는 데 사용
즉, 해당 문자열을 찾으면 true를 반환하고, 찾지 못하면 false를 반환
예를 들어, "Hello, world!"라는 문자열에서 "world"라는 부분 문자열을 찾으려면 includes("world")를 사용하면 된다

indexOf

indexOf() 메서드는 문자열 내에서 특정 문자열 또는 문자의 첫 번째 인덱스를 반환
문자열을 찾으면 해당 인덱스를 반환하고, 찾지 못하면 -1을 반환
예를 들어, "Hello, world!"라는 문자열에서 "world"라는 부분 문자열의 인덱스를 찾으려면 indexOf("world")를 사용

includes() 메서드와 indexOf() 메서드의 성능 차이

반환 값

includes() 메서드는 단순히 true 또는 false를 반환하므로, 문자열을 찾은 후에도 더 이상의 작업을 수행하지 않는다
반면에 indexOf() 메서드는 인덱스를 반환하므로, 문자열을 찾은 후에도 해당 인덱스를 사용할 수 있다

탐색 방식

includes() 메서드는 문자열을 전체적으로 탐색하지 않고, 첫 번째로 일치하는 부분 문자열을 찾으면 검색을 중단한다
이에 반해 indexOf() 메서드는 문자열을 전체적으로 탐색하여 첫 번째 일치하는 인덱스를 찾는다

성능

includes() 메서드는 내부적으로 최적화되어 있으며, 탐색 속도가 일반적으로 빠르다
이는 indexOf() 메서드보다 성능 상의 이점을 가질 수 있다
그러나 성능 차이는 문자열의 길이와 내부 구현에 따라 달라질 수 있다

결론

따라서, 포함 여부만 확인하는 경우에는 includes() 메서드를 사용하는 것이 더 효율적일 수 있다
하지만 인덱스를 사용해야하거나 특정 위치를 찾아야 하는 경우에는 indexOf() 메서드를 사용해야 한다

profile
즐겁게 살자

0개의 댓글