자바스크립트
코딩의 기술 2. 배열로 데이터 컬렉션을 관리하라
해리
2021. 5. 14. 23:53
TIP 6. Includes( )로 존재 여부를 확인하라
- 배열에 있는 값의 위치를 확인하지 않고도 존재 여부를 확인하는 방법
- 기존에는 배열이 특정 문자열을 포함하고 있는지 확인할 때 문자열의 위치를 찾고 해당 문자열의 색인으로 위치를 확인
- 문자열이 존재하지 않으면 -1이 반환. 문제는 색인이 0이 될 수 있는데 자바스크립트에서 0은 false로 평가된다.
const sections = ['shipping'];
function displayShipping(sections) {
if (sections.indexOf('shipping')) {
return true;
}
return false;
}
// false
이런 상황때문에 숫자와 비교하는 과정을 거쳐야 한다.
const sections = ['shipping'];
function displayShipping(sections) {
return sections.indexOf('shipping') > -1;
}
// true
그렇기에 코드에 -1을 계속해서 써주어야 하며, -1로 비교하는 것을 누락해서 색인이 0인 경우를 false로 처리해버리는 실수가 나올 수도 있다. 하지만 ES6에 추가된 기능인 includes( ) 를 사용하면 이러한 절차를 생략할 수 있다.
const sections = ['contact', 'shipping'];
function displayShipping(sections) {
return sections.includes('shipping');
}
// true