Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 문자열이 특정 문자로 끝나는지 확인하는 방법

이번 글에서는 첫 번째 인수로 문자열을, 두 번째 인수로 단일 문자를 받는 JavaScript 함수를 작성해 보겠습니다.

이 함수의 역할은 첫 번째 인수로 전달된 문자열이 두 번째 인수로 지정한 문자로 끝나는지 여부를 판별하는 것입니다. 단, ES6에서 제공하는 endsWith() 같은 내장 메서드나 외부 라이브러리 없이 순수하게 구현해야 한다는 조건이 있습니다.

예제 코드

다음은 실제 동작하는 코드입니다 −

const str = 'This is a string';
const checkEnding = (str = '', char = '') => {
   // 문자열의 마지막 문자를 가져오는 헬퍼 함수
   const getLast = (str = '') => {
      const { length } = str;
      return str[length - 1];
   };
   return getLast(str) === char;
};
console.log(checkEnding(str, 'g'))
console.log(checkEnding(str, 'h'))

출력 결과

콘솔에 출력되는 결과는 다음과 같습니다 −

true
false

코드 설명

위 코드의 동작 원리를 단계별로 살펴보겠습니다.

  • getLast 헬퍼 함수는 구조 분해 할당으로 문자열의 length 속성을 가져온 뒤, 인덱스를 이용해 마지막 문자를 추출합니다.
  • 문자열의 인덱스는 0부터 시작하므로, 마지막 문자는 항상 str[length - 1] 위치에 존재합니다.
  • checkEnding 함수는 추출한 마지막 문자와 두 번째 인수로 전달된 문자를 엄격 동등 연산자(===)로 비교한 결과를 그대로 반환합니다.

예제에서 문자열 'This is a string'의 마지막 문자는 'g'이므로 첫 번째 호출은 true를, 두 번째 호출은 false를 반환합니다.