웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > js

자바스크립트 문자열 메소드 endsWith()

Last Modified : 2023-05-16 / Created : 2023-04-24
2,139
View Count
이 전에 자바스크립트 문자열(String) 메소드 startsWith()에 대하여 알아보았습니다. 오늘은 비슷한 정 반대로 동작하는 endsWith() 메소드에 대하여 알아봅니다.



관련 링크 바로가기 >
https://webisfree.com/2020-11-17/lodash-startswith()-메소드-알아보기




# 자바스크립트 endsWith() 메소드 알아보기


자바스크립트에서 endsWith() 메소드는 String에 사용하는 메소드로 주어진 문자열의 끝에서부터 특정 텍스트가 일치하는지 확인하는 데 사용되고 그 결과를 Boolean 값인 true 또는 false를 반환합니다. 간단한 endsWith() 메소드의 문법은 다음과 같습니다.

String.endsWith(찾을 문자열, 길이);

// String : 일치하는지 검사할 대상 문자열
// 찾을 문자열 (Required) : 대상 문자열의 끝에서 부터 찾을 문자열
// 길이 (Option) : 대상 문자열 검사시 특정 길이를 설정할 수 있는 값(Default. 전체 길이)

그럼 이를 사용하여 간단한 예제를 만들어보겠습니다.


! endsWith() 예제보기


만약 아래와 같은 문자열이 존재하는 경우 각각 어떻게 결과를 나타내는지 알아볼 수 있습니다.
const myStr = 'Hello Webisfree.com';

myStr.endsWith('Hello Webisfree.com');
myStr.endsWith('Webisfree.com');
myStr.endsWith('com');

// Results
true;
true;
true;

위 결과는 모두 true를 반환합니다. 모두 뒤에서 부터 일치하기 때문입니다. 여기서 만약 대소문자 구분을 하지 않는다면 어떻게 될까요? 아래를 봐주세요.
myStr.endsWith('webisfree.com');
myStr.endsWith('hello Webisfree.com');

// Results
false;
false;

대소문자가 맞지 않는 경우 false를 반환하게 됩니다.


[ 참고 ]
만약 대소문자 상관없이 비교하려면? 이 경우 방법은 둘 다 모두 소문자 또는 모두 대문자로 변경 후 비교하면 됩니다.
myStr.toLowerCase().endsWith('webisfree.com'.toLowerCase());

// Results
true;


@ 두 번째 인자로 길이 설정 후 endsWith() 사용하기
다음으로 길이를 설정하는 방법입니다. 다음의 결과는 어떻게 될까요?
'webisfree'.endsWith('free', 9);
'webisfree'.endsWith('free', 8);

// Results
true;
false;

뒤의 길이는 비교 할 대상이 되는 문자열의 길이를 정하게 됩니다. 그래서 첫 번째 예제의 9는 전체 길이를 모두 사용하므로 'webisfree'의 끝에 'free'가 있는지 확인하므로 true를 반환하죠. 하지만 다음의 8의 값은 'webisfre'만 비교하기 때문에 'free'와 일치하지 않습니다. 물론 'fre'인 경우는 일치합니다.
'webisfree'.endsWith('fre', 8);

// Results
true;


추가로 빈 값인 경우는 어떻게 반환될까요?
myStr.endsWith('');

// Result
true;

위의 결과는 true입니다. 다만 아래의 경우는 모두 false를 반환합니다.
myStr.endsWith();
myStr.endsWith(null);
myStr.endsWith(undefined);

// All Results
false;


여기까지 문자열 메소드 endsWith()에 대하여 알아보았습니다.

Previous

자바스크립트 함수의 이름을 알아내는 방법

Previous

[Javascript] Array flat() 메소드 알아보기