두 개의 문자열을 인수로 받아, 첫 번째 문자열이 두 번째 문자열로 시작하는지 여부를 판별하여 true 또는 false를 반환하는 JavaScript 함수를 작성해 보겠습니다.
예를 들어 다음과 같은 경우를 생각해 볼 수 있습니다.
두 문자열이 다음과 같다면: "Disaster management report" "Disas" 함수는 true를 반환해야 합니다.
구현 예제
먼저 직접 함수를 작성하는 방법을 살펴보겠습니다. 두 번째 문자열의 길이만큼 첫 번째 문자열 앞부분을 잘라낸 뒤, 그 결과가 두 번째 문자열과 일치하는지 비교하면 됩니다.
const first = 'The game is on';
const second = 'The';
const startsWith = (first, second) => {
const { length } = second;
const { length: l } = first;
const sub = first.substr(0, length);
return sub === second;
};
console.log(startsWith(first, second));출력 결과
콘솔에 출력되는 결과는 다음과 같습니다.
true
내장 메서드 startsWith() 활용하기
사실 모던 JavaScript에서는 위와 같은 로직을 직접 구현할 필요 없이, ES6에서 도입된 내장 메서드 String.prototype.startsWith()를 사용하면 훨씬 간결하게 처리할 수 있습니다.
const first = 'The game is on'; const second = 'The'; console.log(first.startsWith(second)); // true
이 메서드는 대소문자를 구분하며, 필요하다면 검색을 시작할 위치를 두 번째 인수로 지정할 수도 있습니다. 대부분의 경우 내장 메서드를 사용하는 것이 가독성과 성능 면에서 더 권장됩니다.