반응형
switch case
언제 if else 쓰고 언제 switch를 써야되지?
- switch의 case에는 상수만 올수있다. 변수와의 비교가 불가능하다는 얘기..
- 비교대상이 '상수'면 switch를 쓰고, 일반적으로는 if문을 쓴다.
- 구현했을때 가독성이 더 좋을것으로 판단되는걸로 쓴다.
틀린코드
let score = 50;
switch (score){
case score >= 0 && score < 50: // 이런식으로 상수가 아닌값은 올수가 없다.
console.log('재수강');
break;
case score >=50 && score < 90:
console.log('통과');
break;
case score >= 90:
console.log('수석');
break;
default:
console.log('무조건 default가 나온다');
}
맞는코드
const score = 100;
switch (score){
case 50:
console.log('재수강');
break;
case 80:
console.log('통과');
break;
case 90:
console.log('수석');
break;
case 100:
console.log('만점'); // 해당문 출력
break;
default:
console.log('판단할 수 없음');
}
for문과 while문, do...while
언제 for문 써야되고 while문을 써야되지?
- 반복횟수가 명확할때는 for문을 쓴다.
- 반복횟수가 불명확할때는 while문을 쓴다.
- while과 do..while의 차이점 : do..while은 최소 1회 실행하고, while은 값이 false면 한번도 실행하지 않을수있다.
loop를 탈출하려면 break를 쓴다.
let score = 0;
for (let i=1; i <= 10; i++) {
if (i == 3) break; // 반복 종료
score += i // 2 까지만 연산함
}
console.log(score); // 1 + 2 = 3
continue를 만나면 현 시점의 반복으로 다시 돌아간다 (continue 하단에 실행문을 실행하지 않음)
let count = 0;
for (let i=1; i <= 10; i++) {
if (i == 7) continue; // 밑의 연산을 수행하지 않고 다음 반복으로 넘어감
count += i //i 7인 경우 합산하지않음
}
console.log(count); // 1 + 2 + 3 + 4 + 5 + 6 + 8 + 9 + 10 = 48
반응형
'[STUDY] 스터디 > Deep Dive JS' 카테고리의 다른 글
js 함수 리터럴 / 화살표함수 / 콜백함수 / 고차함수 정의 (0) | 2022.11.24 |
---|---|
js 객체 리터럴 / 객체값 가져오기 / 얕은복사 깊은복사 비교 (0) | 2022.11.22 |
js 타입변환 / '0'은 false지만 truthy하다 / '0'은 왜 true로 평가되는가 (0) | 2022.11.22 |
Javascript 연산자 / ? 옵셔널체이닝 ?? 널리쉬 delete 프로퍼티 삭제 (0) | 2022.11.18 |
변수의 선언과 호이스팅 (0) | 2022.11.14 |