String.prototype.includes()
사용법
문자열에서 includes()
함수는
문자열에 특정 문자열이 포함하는지 확인하는 함수입니다.
문자열에서 주어진 문자열이 포함되어 있으면 true
를 그렇지 않으면 false
를 반환합니다.
- 대소문자를 구분합니다.
- 이 함수는 ECMAScript 6(ES6)에서 도입되었습니다.
const haystack = "반갑습니다! 코딩에브리바디입니다.";
const needle = "코딩";
const isNeedle = haystack.includes(needle); // true
if (isNeedle) {
console.log(`문자열에 '${needle}'이 포함되어 있습니다.`);
} else {
console.log(`문자열에 '${needle}'이 포함되어 있지 않습니다.`);
}
// 출력: "문자열에 '코딩'이 포함되어 있습니다."
배열에서는 Array.prototype.includes()
가 배열에 특정 요소가 포함하는지 확인하는 함수입니다.
includes()
함수의 형식은 다음과 같습니다.
구문
str.includes(searchString[, position])
str
: includes()
함수를 적용할 문자열입니다.
매개변수
searchString |
검색 대상이 되는 문자열입니다. 정규식이 아니어야 합니다.
정규식이 아닌 모든 값은 문자열로 강제 변환되므로 이 값을 생략하거나 undefined 로 전달하면 includes() 가 "undefined" 문자열을 검색하게 되어 일반적으로 원하는 동작이 아닐 수 있습니다. |
---|---|
position |
옵션. 검색을 시작할 0 기반의 인덱스입니다.
생략하면 기본값으로 0 이 사용됩니다. |
반환 값
문자열에서 빈 문자열(""
)를 포함하여 주어진 문자열이 포함되어 있으면 true
를 그렇지 않으면 false
를 반환합니다.
주의할 점
대소문자를 구분합니다.
includes()
함수는 대소문자를 구분합니다.
const haystack = "Hello, World!";
const needle = "world";
const isNeedle = haystack.includes(needle); // false
if (isNeedle) {
console.log(`문자열에 '${needle}'가 포함되어 있습니다.`);
} else {
console.log(`문자열에 '${needle}'가 포함되어 있지 않습니다.`);
}
// 출력: "문자열에 'world'이 포함되어 있지 않습니다."
검색 대상이 되는 문자열은 정규식이 아니어야 합니다.
TypeError
가 발생합니다.
const haystack = "Hello, World!";
const needle = /Hello/; // 정규식이 아니어야 합니다. TypeError가 발생합니다.
const isNeedle = haystack.includes(needle);
if (isNeedle) {
console.log(`문자열에 '${needle}'가 포함되어 있습니다.`);
} else {
console.log(`문자열에 '${needle}'가 포함되어 있지 않습니다.`);
}
검색 대상이 되는 문자열이 빈 문자열(""
)이면 항상 true
를 반환합니다.
const haystack = "환영합니다.";
const needle = "";
const isNeedle = haystack.includes(needle);
console.log(isNeedle); // 빈 문자열은 항상 true를 반환합니다.
이 외에도 브라우저 호환성을 주의해야 합니다.
includes()
함수는 ECMAScript 6(ES6)에서 도입된 함수로 ES6는 2015년에 공식적으로 발표되었으며, 인터넷 익스플로러(Internet Explorer) 브라우저에서 지원하지 않습니다.
이 함수의 관련 함수를 참조하세요.
includes()
함수의 다양한 활용 사례
includes()
함수는 문자열에 특정 문자열이 포함되어 있는지를 확인할 때 유용합니다.
예를 들어, 검색 기능이나 문자열 처리에 적합합니다. 다음은 includes()
함수의 사용 예시 중 일부입니다.
검색 기능 구현
const txt = "나는 사과와 바나나를 좋아해요.";
const searchTerm = "사과";
if (txt.includes(searchTerm)) {
console.log(`텍스트에 '${searchTerm}' 단어가 포함되어 있습니다.`);
} else {
console.log(`텍스트에 '${searchTerm}' 단어가 포함되어 있지 않습니다.`);
}
// 출력: "텍스트에 '사과' 단어가 포함되어 있습니다."
문자열 필터링
const content = '이 문장에는 원치 않는 단어가 포함되어 있습니다.';
const unwantedWords = ['원치 않는', '나쁜', '부적절한'];
unwantedWords.forEach(unwantedWord => {
if (content.includes(unwantedWord)) {
let fillteredContent = content.replace(unwantedWord, "***");
console.log(fillteredContent);
}
});
// 출력: "이 문장에는 *** 단어가 포함되어 있습니다."
특정 문자열의 반복 횟수
// 대소문자 구분 없이 'hello' 문자열 찾기
const searchStr = "hello";
const str = "Hello, world! hello, universe!".toLowerCase();
let count = 0;
let startIndex = 0;
while (str.includes(searchStr, startIndex)) {
count++;
startIndex = str.indexOf(searchStr, startIndex) + 1;
}
console.log("찾는 문자열의 반복 횟수:", count);
// 출력: 찾는 문자열의 반복 횟수: 2
브라우저 호환성
메서드 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
includes()
|
41 | 12 | 40 | 9 |
명세서
명세서 사양 | |
---|---|
includes()
|
ECMAScript Language Specification #sec-string.prototype.includes |
같이 보기
- 자바스크립트 배열에 특정 요소 포함 여부 확인 - includes() 함수
- 자바스크립트 문자열 indexOf() 함수 – 문자열에서 문자의 위치 찾기
- 자바스크립트 배열 indexOf() 함수 – 배열에서 요소의 위치 찾기
- 자바스크립트 find() 함수 – 개념 정리 및 사용 예제
- 자바스크립트 findIndex() 함수 – 개념 정리 및 사용 예제
- 자바스크립트 filter() 함수 – 개념 정리 및 사용 예제
- 자바스크립트 문자열을 배열로 변환 - split() 함수
- 자바스크립트 문자열 match() 함수 - 개념 정리 및 사용 예제
- 자바스크립트 substring() 함수 - 부분 문자열 추출