Javascript/자바스크립트 코딩의 기술

6. Includes()로 존재 여부를 확인하기

Frankie 2021. 1. 26. 19:08

이번 글에서는 배열에 있는 값의 위치를 확인하지 않고도 존재 여부를 확인하는 법을 살펴보려고 한다.

 

배열을 다룰 때는 흔히 존재 여부 확인이 필요한데, 이는 중요한 작업이며 삼항 연산자와 단락 평가를 비롯한 대부분의 조건문에서도 중요하다.

 

자바스크립트 배열에서 존재 여부 확인은 언제나 다소 번거로운데, 예를 들어 배열이 특정 문자열을 포함하고 있는지 확인하려면 문자열의 위치를 찾아야 한다. 

 

특정 문자열이 존재하면 해당 문자열의 색인으로 위치를 확인할 수 이다. 반대로 문자열이 존재하지 않으면 -1이 반환된다. 문제는 색인이 0이 될 수 있는데 자바스크립트에서 0은 false로 평가될 수 있다.

 

이런 상황에서 찾는 값의 위치가 0번째라면 false로 평가되므로 반환된 색인을 그대로 조건문에 사용할 수 없고 숫자와 비교하는 과정을 거쳐야 한다.

 

const sections = ['concat', 'shipping'];

function displayShipping(sections){
	return sections.indexOf('shipping') > -1;
}
//true

다행히 ES2016에 추가된 새로운 기능인 includes()라는 배열 메서드를 이용하면 값이 배열에 존재하는지 여부를 확인해서 bool값으로 true 또는 false를 반환한다. 

 

const sections = ['concat', 'shipping'];

function displayShipping(sections){
	return sections.includes('shipping') > -1;
}
//true

 

다음 글에서는 배열을 사용하는 새로운 기술 중 가장 흥미롭고 강력한 펼침 연산자를 살펴봅시다.