includes() 및 some() 메서드는 배열에서 특정 요소를 검색하는 데 사용된다.
그러나 이 두 가지 방법에는 몇 가지 차이점이 있다.
❗ includes()
- 배열에 특정 요소가 포함되어 있는지 여부를 나타내는 boolean 값을 반환한다.
- 기본 값과 기본 값이 아닌 값 모두와 함께 사용할 수 있다.
- 찾은 요소의 인덱스에 대한 액세스를 제공하지 않는다.
- 배열을 수정할 수 있는 수단을 제공하지 않는다.
- 더 간단하고 읽기 쉽다.
const fruits = ['apple', 'banana', 'orange'];
console.log(fruits.includes('apple')); // true
console.log(fruits.includes('pear')); // false
✔ include() 예시 코드를 some()로 사용시 예제
const fruits = ['apple', 'banana', 'orange'];
console.log(fruits.some(fruit => fruit === 'apple')); // true
console.log(fruits.some(fruit => fruit === 'pear')); // false
❗ some()
- 배열의 적어도 하나의 요소가 특정 조건을 만족하는지 여부를 나타내는 boolean 값을 반환한다.
- 기본 값과 기본 값이 아닌 값 모두와 함께 사용할 수 있다.
- 조건을 만족하는 첫 번째 요소의 인덱스에 대한 액세스를 제공한다.
- 사용된 콜백 함수가 true를 반환하는 경우(예: 요소 제거) 배열을 수정하는 데 사용할 수 있다.
- 더 복잡한 조건을 확인할 수 있으므로 더 유연하다.
const numbers = [1, 2, 3, 4, 5];
// 적어도 하나의 숫자가 4보다 큰지 확인
console.log(numbers.some(num => num > 4)); // true
// 적어도 하나의 숫자가 음수인지 확인
console.log(numbers.some(num => num < 0)); // false
✔ some() 예시 코드를 include()로 사용시 예제
includes()는 숫자, 문자열 및 부울과 같은 단순한 값에 대해서만 작동하며 객체 또는 배열과 같은 복잡한 값에 대해서는 작동하지 않는다.
언제 어떤 방법을 사용할지는 특정 사용 사례에 따라 다르다.
배열에 특정 값이 포함되어 있는지 단순히 확인하는 경우 includes()가 더 적절한 선택일 수 있고,
반면에 배열의 요소가 특정 조건을 충족하는지 여부를 확인해야 하는 경우 some()이 더 나은 선택일 수 있다.
'자바스크립트 - Vanilla JS' 카테고리의 다른 글
[자바스크립트 / Vanilla JS] padStart()와 padEnd()에 대해서 (0) | 2023.04.24 |
---|---|
[자바스크립트 / Vanilla JS] 클로저 함수(Closure function)란 ? (0) | 2023.03.28 |
[자바스크립트 / Vanilla JS] forEach()와 map()의 차이점 (3) | 2023.01.09 |
[자바스크립트 / Vanilla JS] parseInt()와 Number()의 차이점 (0) | 2022.09.22 |
[자바스크립트 / Vanilla JS] 스프레드 연산자 (Spread Operator) (1) | 2022.09.21 |