2023년 3월 11일

KSY

JavaScript includes()메서드에 대해서

includes()메서드는 무엇일까?

includes() 메서드는 배열이 특정 요소를 포함하고 있는지 판별한다.

arr.includes(valueToFind[, fromIndex])

이 함수를 사용하면 반환값은 boolean(true/false)이다.

let array = [1,2,3];

array.includes(2); //true
array.includes(4); //false
array.includes(3, 3); //false
array.includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true

여기에서 array.includes(3, 3); 를 살펴보면 결과값으로 false가 반환이 된다.

false가 반환되는 이유는 간단하다. 3인 요소를 3번째 인덱스에서 찾겠다라는 의미인데 array 변수의 요소값을 보면 3번째 인덱스가 있지 않지 않고 3이란 요소도 없으니 false가 반환이 된다.

⇒ fromIndex가 배열의 길이보다 같거나 크다면 false를 반환

array.includes(3, -1); 를 살펴보면 3인 요소값을 array에서 찾겠다라는 의미인데 -1은 배열 끝에서부터 검색을 시작한다는 의미이다. 그러므로 마지막 인덱스인 array[2]에서 찾겠다는건데 이 이전 요소인 3를 찾았기에 true를 반환한다.

하지만 검색 대상이 문자열인 경우, -1을 전달하면 검색을 끝에서부터 시작할지 또는 전체 문자열에서 검색을 시작할지에 따라 결과가 달라질 수 있습니다. 따라서 -1을 사용하기 전에 검색 대상의 종류에 따라 예상되는 결과를 확인해야 합니다.

0보다 작은 인덱스의 계산