startsWith(), endsWith()
문자열 파싱이나 검색은 알고리즘 문제에 나오는 단골손님입니다. 문자열과 관련된 기능을 자유롭게 다루지 못하면 문제 풀이의 시작조차 어려운 경우가 많습니다. 이 글에서는 자바스크립트 String에 있는 메서드들 중 startsWith과 endsWith에 대해서 살펴보겠습니다. 글 하단의 MDN 링크를 타고 들어가시면 다른 여러 메서드들을 보실 수 있습니다. 한글 번역이 잘 되어 있습니다.
1. startsWith
구문
startsWith(searchString)
startsWith(searchString, position)
문자열이 searchString으로 시작하면 true, 아니면 false를 반환합니다. 두 번째 인자로 position값을 전달하면 탐색할 시작위치를 정할 수 있습니다. 기본값은 0입니다.
예시
const str = "Tom is thinking";
const name = "Tom";
console.log(str.startsWith(name)); // true
const str = "Tom is thinking";
const name = "T";
console.log(str.startsWith(name)); // true
문자열이 Tom으로 시작한다. T로 시작한다. 모두 참이므로 true를 반환합니다.
const str = "Tom is thinking";
const name = "Jerry";
console.log(str.startsWith(name)); // false
Jerry로 시작하지 않으므로 false를 반환합니다.
두 번째 인자를 활용하는 경우
const str = "Tom is thinking";
console.log(str.startsWith("is", 4)); // true
4번째 인덱스부터 탐색을 시작하면 is로 시작하므로 true를 반환합니다.
const str = "Tom is thinking";
console.log(str.startsWith("is", 3)); // false
3번째 인덱스부터 탐색을 시작하면 공백(" ")으로 시작하므로 false를 반환합니다.
2. endsWith
구문
str.endsWith(searchString[, length])
문자열이 searchString으로 끝나면 true, 아니면 false를 반환합니다. 두 번째 인자로 전달한 length의 범위 안에서 문자열을 검색합니다.
예시
const str = "Tom is thinking";
const action = "thinking";
console.log(str.endsWith(action)); // true
const str = "Tom is thinking";
const action = "ing";
console.log(str.endsWith(action)); // true
문자열이 thinking으로 끝난다. ing로 끝난다. 모두 참이므로 true를 반합니다.
const str = "Tom is thinking";
const action = "dancing";
console.log(str.endsWith(action)); // false
dancing으로 끝나지 않으므로 false를 반환합니다.
const str = "Tom is thinking";
console.log(str.endsWith("thinking", 6)); // false
길이 6에서 자른 문자열("Tom is")은 thinking으로 끝나지 않으므로 false를 반환합니다.
const str = "Tom is thinking";
console.log(str.endsWith("thinking", 12)); // false
길이 12에서 자른 문자열("Tom is think")이 thinking으로 끝나지 않으므로 false를 반환합니다.
const str = "Tom is thinking";
console.log(str.endsWith("think", 12)); // true
길이 12에서 자른 문자열("Tom is think")이 think로 끝나므로 true를 반환합니다.
MDN document - String.prototype.startsWith()
MDN document - String.prototype.endsWith()
'자바스크립트' 카테고리의 다른 글
[JAVASCRIPT] this가 가리키는 객체 (메서드, 함수, 화살표 함수에서) (4) | 2024.01.05 |
---|---|
[JAVASCRIPT] 배열 vs 객체, 배열보다 객체를 써야 하는 경우, 배열을 객체로 바꾸는 방법(array to object) (0) | 2024.01.03 |
[JAVASCRIPT] 랜덤 숫자(난수) 생성하는 방법 - Math.random() (0) | 2023.12.28 |
[JAVASCRIPT] 캐싱 함수 만들기 / 데코레이터(decorator) (1) | 2021.08.30 |
[JAVASCRIPT] 중첩 객체에서 특정 프로퍼티의 합 구하기, 재귀함수 활용 (0) | 2021.08.19 |