JavaScript에서 여러 개의 조건을 나열할 때 아래와 같이 or를 길게 연결해서 사용합니다.
const code = data.code;
if (code === 'A'
|| code === 'B'
|| code === 'C'
|| code === 'D'
|| code === 'E') {
//Do anything
}
보통 현업에서 코드를 길게 쓰다보면 해당 라인이 계속 늘어나게 되면 프로그램도 지저분해지고, 가독성도 떨어지게 됩니다. 이럴 경우 Array.prototype.indexOf나 Array.prototype.includes를 활용하여 코드를 개선해 볼 수 있습니다.
Array.prototype.indexOf
이 메소드는 배열에서 해당 요소를 찾을 수 있는 첫 번째 인덱스를 return 하거나, 찾지 못할 경우 -1을 return 합니다.
const code = data.code;
const conditions = ['A', 'B', 'C', 'D', 'E'];
if (conditions.indexOf(code) > -1) {
//Do anything
}
Array.prototype.includes
이 메소드는 배열이 해당 요소를 포함하고 있는지 여부를 boolean 으로 return 합니다.
const code = data.code;
const conditions = ['A', 'B', 'C', 'D', 'E'];
if (conditions.includes(code)) {
//Do anything
}
만약 개발하고 있는 애플리케이션의 지원 범위에 I.E가 포함된다면 indexOf를 사용하면 되고, I.E를 지원할 필요가 없다면 includes 메소드를 일반적으로 사용하면 됩니다.
자세한 브라우저 호환성은 JavaScript MDN 문서를 참고하시면 됩니다.
300x250
'JavaScript' 카테고리의 다른 글
jQuery.extend($.extend), Object.assign, Spread expression (0) | 2022.08.06 |
---|---|
Response Header 시간 구하기 (0) | 2022.06.23 |
클라이언트와 서버의 시간 차 해소 (0) | 2022.06.23 |
JavaScript 함수의 실행 순서 (0) | 2022.06.22 |
I.E 에서 momentJs 사용 시 주의사항 (0) | 2022.06.22 |