String.prototype.indexOf()
사용법
자바스크립트 문자열 indexOf()
함수는
문자열에서 인수로 전달된 문자를 찾아 첫 번째로 검색된(등장한) 문자열의 인덱스를 반환하는 함수입니다.
인수로 전달된 문자열를 찾을 수 없다면 -1
을 반환합니다. 이 함수는 문자열에서 문자의 위치를 찾거나, 존재하는지 확인할 때 유용합니다.
배열에서는 Array.prototype.indexOf()
가 같은 역할을 합니다.
indexOf()
함수의 형식은 다음과 같습니다.
구문
str
: indexOf()
함수를 적용할 대상 문자열입니다.
매개변수
searchValue |
필수. 찾을 문자열입니다.
대소문자를 구분합니다. 아무 값도 주어지지 않으면 문자열 "undefined" 를 찾으려는 문자열로 사용합니다. |
---|---|
fromIndex |
옵션. 검색을 시작할 0 기반의 인덱스입니다.
|
반환 값
indexOf()
함수를 적용할 대상 문자열에서 인수로 전달된 문자열를 찾아 첫 번째로 검색된(등장한) 문자열의 인덱스를 반환합니다.
인수로 전달된 문자열를 찾을 수 없다면 -1
을 반환합니다.
매개변수와 반환 값 예시
주의할 점
indexOf()
함수로 문자열을 검색할 때에는 대소문자를 구분합니다.
이 함수의 관련 함수를 참조하세요.
indexOf()
함수의 다양한 활용 사례
문자열과 관련된 프로토타입 메서드(String 인스턴스)인 indexOf()
함수에 관련된 다양한 활용 사례입니다.
부분 문자열의 존재 여부 확인
indexOf()
함수를 사용하여 문자열 내에서 특정 부분 문자열이 존재하는지 확인할 수 있습니다. 반환값이 -1
이 아닌 경우, 부분 문자열이 존재하는 것입니다.
ECMAScript 6(ES6)에서 도입된 includes()
함수는 문자열에서 주어진 문자열이 포함되어 있으면 true
를 그렇지 않으면 false
를 반환하는 함수입니다. 이 함수는 2015년에 공식적으로 발표되었으며, 인터넷 익스플로러(Internet Explorer) 브라우저에서 지원하지 않는다는 불편함이 있습니다. 인터넷 익스플로러 호환성을 고려할 필요가 없다면 부분 문자열의 존재 여부 확인은 indexOf()
함수 보다는 includes()
함수가 더 직관적이고 활용하기 편리합니다.
대소문자 구분 없는 문자열 검색
indexOf()
함수는 검색하는 문자열의 대소문자를 구분하지만, toLowerCase()
함수를 사용하여 대소문자를 무시하고 문자열 내에서 부분 문자열을 검색할 수 있습니다.
toLowerCase()
함수는
문자열 객체의 메서드 중 하나로, 문자열을 모두 소문자로 변환하는 함수입니다.
특정 문자열의 반복 횟수
위 코드에서는 indexOf()
함수를 사용하여 "Hello"
문자열의 첫 번째 발생 위치를 찾은 후, 이 위치 이후에서 다시 indexOf()
를 호출하여 다음 발생 위치를 찾습니다. 이러한 과정을 반복하고 발생 횟수(count
)를 하나씩 추가하고 그 값을 확인하여 "Hello"
문자열이 나타나는 횟수를 계산합니다.
명세서
명세서 사양 | |
---|---|
String.prototype.indexOf()
|
ECMAScript Language Specification #sec-string.prototype.indexof |
브라우저 호환성
메서드 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
indexOf()
|
1 | 12 | 1 | 1 |