Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

joyful

TIP 6: Includes()로 존재 여부를 확인하라 본문

자바스크립트 코딩의 기술

TIP 6: Includes()로 존재 여부를 확인하라

조이풀한 개발자 2023. 10. 28. 22:47

 

배열에 있는 값의 위치를 확인하지 않고도 존재 여부를 확인할 수 있는 방법이 있다. 

 

 


 

 

문제

const sections = ['shipping'];

function displayShipping(sections) {
  if (sections.indexOf('shipping')) {
    return true;
  }
  return false;
}

// false
  • 배열에서 특정 문자열의 존재 여부를 확인하려 할 때, 그 문자열의 index 값으로 위치를 확인할 수 있다. 
  • 문자열이 존재하면 그 index를 반환하고, 존재하지 않는다면 -1이 반환된다. 
  • 문제는 index값이 0이 될 수도 있는데, 자바스크립트에서 0은 거짓(false)로 취급된다.
  • 따라서 실제로 존재하는 값이더라도 확인 결과가 false로 출력될 수 있다. 

 

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

function displayShipping(sections) {
  return sections.indexOf('shipping') > -1;
}
  • 위와 같은 문제로 -1과 비교하는 과정을 거쳐야 한다. (index가 0이더라도 true값을 도출할 수 있게)

 


 

 

해결

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

function displayShipping(sections) {
  return sections.includes('shipping');
}
  • includes() 메서드를 이용해 번거로운 비교 절차를 생략할 수 있다. 
  • 값이 배열에 존재하는 지를 확인해서 불리언 값으로 true 또는 false를 반환한다.