-
조건문 성능 비교해보기(if~else, switch-case, 삼항연산자)Etc/Performence 2022. 1. 13. 17:47반응형
조건문 종류 성능비교 테스트
if~else
console.time("TEST time"); function condition(value){ let number = "zero"; if(value === 1){ number = "one"; } else if(value === 2){ number = "two" } else if(value === 3){ number = "three" } else if(value === 4){ number = "four" } else if(value === 5){ number = "five" } else if(value === 6){ number = "six" } else if(value === 7){ number = "seven" } else if(value === 8){ number = "eight" } else if(value === 9){ number = "nine" } else if(value === 10){ number = "ten" } else { number = "null"; } return number; } for (let i = 0; i < 11; i++){ condition(i); console.log(condition(i)); } console.timeEnd("TEST time");
switch-case
console.time("TEST time"); function condition(value){ let number = "zero"; switch(value){ case 1 : number = "one"; break; case 2 : number = "two"; break; case 3 : number = "three"; break; case 4 : number = "four"; break; case 5 : number = "five"; break; case 6 : number = "six"; break; case 7 : number = "seven"; break; case 8 : number = "eight"; break; case 9 : number = "nine"; break; case 10 : number = "ten"; break; default : number = "null"; break; } return number; } for (let i = 0; i < 11; i++){ condition(i); console.log(condition(i)); } console.timeEnd("TEST time");
삼항연산자
console.time("TEST time"); function condition(value){ let number = false; number = (value === 1) ? "one" : (value === 2) ? "two" : (value === 3) ? "three" : (value === 4) ? "four" : (value === 5) ? "five" : (value === 6) ? "six" : (value === 7) ? "seven" : (value === 8) ? "eight" : (value === 9) ? "nine" : (value === 10) ? "ten" : "null"; return number; } for (let i = 0; i < 11; i++){ condition(i); console.log(condition(i)); } console.timeEnd("TEST time");
결론: switch > 삼항연산자 > if 조건문의 순서로 실행속도가 빠른것 같습니다. (if 조건문이 가장 느립니다.)
'Etc > Performence' 카테고리의 다른 글
객체 생성, 초기화 성능을 높이는 코드 스타일 (0) 2022.01.13 효율적인 for 반복문 사용방법 (0) 2022.01.13