반응형
SMALL
indexOf()는 JavaScript의 내장 문자열 메서드 중 하나입니다. 문자열에서 특정 문자열이 처음으로 나타나는 위치의 인덱스를 반환합니다. 찾는 문자열이 없으면 -1을 반환합니다.
구문:
string.indexOf(searchValue, fromIndex)
- searchValue: 문자열에서 검색할 문자열입니다.
- fromIndex (선택사항): 검색을 시작할 위치의 인덱스입니다. 기본값은 0입니다.
예시:
let str = "Hello world, welcome to the universe.";
console.log(str.indexOf("welcome"));// 14 (인덱스 14부터 "welcome"이 시작)
console.log(str.indexOf("Hello"));// 0 (인덱스 0부터 "Hello"가 시작)
console.log(str.indexOf("JavaScript"));// -1 (해당 문자열이 없음)
console.log(str.indexOf("o", 5));// 8 (인덱스 5부터 시작해서 "o"가 처음으로 나오는 위치는 8)
주요 사항:
- indexOf()는 대소문자를 구분합니다. "hello".indexOf("Hello") 는 -1을 반환합니다.
- 찾는 문자열이 여러 번 나타나는 경우, 처음으로 나타나는 위치의 인덱스를 반환합니다.
- fromIndex를 사용하면 특정 위치부터 검색을 시작할 수 있습니다.
- 문자열에서 특정 문자열의 위치를 찾거나, 문자열이 존재하는지 확인할 때 유용합니다.
indexOf() 메서드는 ECMAScript 1부터 지원되며, 모든 주요 브라우저와 JavaScript 환경에서 사용할 수 있습니다. 만약 해당 메서드가 지원되지 않는 경우, 폴리필(polyfill)이나 다른 대체 방법을 사용해야 합니다
indexOf(), startsWith(), includes() 메서드는 모두 문자열에서 특정 문자열을 찾는 데 사용되지만, 각각 다른 용도와 장단점이 있습니다.
indexOf()
- 문자열에서 특정 문자열의 위치(인덱스)를 찾습니다.
- 문자열이 없으면 -1을 반환합니다.
- 문자열이 여러 번 나타나는 경우, 처음으로 나타나는 인덱스를 반환합니다.
- 장점: 문자열의 정확한 위치를 알 수 있습니다.
- 단점: 문자열이 있는지 여부를 명확하게 알기 어려울 수 있습니다.
startsWith()
- 문자열이 특정 문자열로 시작하는지 여부를 확인합니다.
- 문자열의 시작 부분만 검사합니다.
- 장점: 문자열의 시작 부분을 명확하게 확인할 수 있습니다.
- 단점: 문자열의 위치나 중간에 있는지는 확인할 수 없습니다.
includes()
- 문자열에 특정 문자열이 포함되어 있는지 여부를 확인합니다.
- 문자열의 어느 위치에서든 검색합니다.
- 장점: 문자열이 포함되어 있는지 명확하게 알 수 있습니다.
- 단점: 문자열의 정확한 위치를 알 수 없습니다.
사용 예시:
let str = "Hello world, welcome to the universe.";
// indexOf
console.log(str.indexOf("welcome"));// 14 (위치를 정확히 알 수 있음)
console.log(str.indexOf("JavaScript"));// -1 (문자열이 없음)// startsWith
console.log(str.startsWith("Hello"));// true (문자열이 "Hello"로 시작함)
console.log(str.startsWith("world"));// false (문자열이 "world"로 시작하지 않음)// includes
console.log(str.includes("welcome"));// true (문자열이 포함되어 있음)
console.log(str.includes("JavaScript"));// false (문자열이 포함되어 있지 않음)
상황에 따라 적절한 메서드를 선택하는 것이 중요합니다. 문자열의 시작 부분을 확인해야 한다면 startsWith()를, 문자열이 포함되어 있는지 확인해야 한다면 includes()를, 문자열의 정확한 위치를 찾아야 한다면 indexOf()를 사용하는 것이 좋습니다.
728x90
반응형
LIST
'javascript > 기초' 카테고리의 다른 글
슬라이딩 윈도우 기법 (0) | 2024.05.13 |
---|---|
완전탐색(Brute-Force)과 탐욕법(Greedy Approach) (0) | 2024.04.18 |
startsWith() (0) | 2024.04.10 |
for ...in (0) | 2024.04.10 |
includes() (0) | 2024.04.10 |