원본: 자바스크립트 String startsWith 메소드
자바스크립트의 startsWith() 메소드는 이름에서 알 수 있듯이 주어진 문자열이 특정 문자열로 시작하는지 확인합니다.
문자열이 특정 문자열로 시작하면 true를 리턴하고 그렇지 않다면 false를 리턴합니다.
Table of Contents
startsWith 문법 구문
이 메소드의 문법 구문은 다음과 같습니다:
string.startsWith(searchString, position);
여기서 string은 검사할 문자열 입니다. 이는 “searchString”과 “position” 두 개의 매개변수를 받습니다.
매개변수
메소드는 매개변수로 searchString과 position을 받습니다.
- searchString은 주어진 문자열에서 검색해야 하는 특정 문자열 또는 문자 집합입니다.
- position은 옵셔널 매개변수로 문자열 검색을 시작할 인덱스를 지정합니다.
리턴 값
리턴 값은 boolean 타입으로 true 또는 false를 가질 수 있습니다.
주어진 문자열이 특정 문자열로 시작한다면 true를 리턴하고, 특정 문자열로 시작하지 않으면 false를 리턴합니다.
예외
startsWith() 메소드는 문자열 타입에서만 작동합니다. 즉, 정수를 찾기 위해 이 메소드를 사용하면 오류가 발생합니다.
개발자 도구에서 다음 코드를 실행하면 다음과 같은 결과를 볼 수 있습니다.
const myString = 123;
const result = myString.startsWith(123);
console.log(result);
위의 예제에서는 console.log() 메소드가 실행되기 전에 에러가 발생했습니다. startsWith() 메소드는 string 타입에서만 작동하는데 myString 변수는 number 타입이기 때문입니다.
사용 예제
const string = "I love shinyks!";
const searchString = "I";
const position = 0;
const result = string.startsWith(searchString, position);
console.log(result);
자바스크립트의 String.startsWith 란?
이 자바스크립트 메소드는 ES6의 String 메소드에 추가된 새로운 메소드로 주어진 문자열이 특정 문자 또는 하위 문자열로 시작하는지 확인합니다.
매개변수로는 searchString과 position 두 개의 값을 받습니다.
searchString은 주어진 문자열이 searchString으로 시작하는지 여부를 확인하는 데 사용합니다.
자바스크립트는 인덱스가 0 부터 시작하는데, 옵셔널 매개변수인 position을 지정해 검사를 시작할 인덱스를 지정할 수 있습니다.
참고: 이 메소드는 대소문자를 구분합니다. 즉, 대문자와 소문자를 다른 것으로 간주합니다. 예를 들어, shinyks와 Shinyks는 다른 문자열 입니다.
Polyfill
모든 브라우저에서 이 메소드를 사용할 수 있는 것은 아닙니다. 이를 사용할 수 없는 경우 다음 코드 조각을 대신 사용할 수 있습니다.
if (!String.prototype.startsWith) {
Object.defineProperty(String.prototype, 'startsWith', {
value: function(search, rawPos) {
var pos = rawPos > 0 ? rawPos|0 : 0;
return this.substring(pos, pos + search.length) === search;
}
});
}
startsWith 예제 코드
기본 사용 예제
const myString = "Hello world";
const result = myString.startsWith("Hello");
console.log(result); // true
이 예제에서는 myString 변수를 선언해 Hello World 문자열을 지정했습니다.
그 다음 Hello 문자열을 searchString으로 전달하여 문자열이 특정 문자열로 시작하는지 확인했습니다.
position 매개변수 사용
const myString = "Hello world";
const result = myString.startsWith("Hello", 2);
console.log(result); // false
이번 예제에서는 옵셔널 매개변수인 position 값에 2를 넣어 인덱스가 2인 위치에서 부터 특정 문자열이 시작하는지 확인했습니다.
주어진 문자열의 2번 인덱스 부터는 Hello로 시작하지 않으므로 리턴 값으로 false를 리턴합니다.
startsWith 정리
- 이 메소드는 주어진 문자열이 특정 문자열 또는 하위 문자열로 시작하는지 확인합니다.
- 검사가 성공한 경우 true를 리턴하고 그렇지 않다면 false를 리턴합니다.
- 매개변수로 searchString과 position 두 개의 값을 받습니다.
- 주의 할 점은 대소문자를 구분한다는 점과, 오직 string 타입에서만 사용할 수 있다는 점 입니다.