if
else if
else
조건 (삼항) 연산자
되도록 간단한 조건에만 사용하고, 연쇄적으로 이어지는 경우에는 if나 switch를 쓰도록 하자.
작성방식
:조건
?
참일 때의 값
:
거짓일 때의 값
;
const name = '짱구';
console.log(name === '철수' ? 'yes' : 'no');
switch 문은 프로그램이 표현식을 평가한 후, 그 값과 case 레이블의 값을 비교해 일치하는 case의 명령문을 실행한다.
if문에서 else if, else if 반복 반복하게 된다면 switch 사용을 고려해 보는 것이 좋다.
각각의 case에는 선택적으로 break 문을 추가할 수 있다. break는 case의 명령문을 실행한 후에 프로그램이 switch의 밖으로 나가도록 한다. break를 생략하면 프로그램은 switch 문을 탈출하지 않고, 다음 case의 명령문을 실행한다.
어떤 특정한 조건이 거짓으로 판별될 때까지 반복하여 조건을 검사하고 증감식을 실행한다.
for
(초기화식
;
조건식
;
증감식
) {
자바스크립트 코드 ;
}
위처럼 for 안에 지역변수 i를 선언하고 작성하는 것
(inline variable declaration)도 좋다.
어떤 조건문이 참이기만 하면 문장을 계속해서 수행한다.
조건문은 반복문 안의 문장이 실행되기 전에 확인된다!
만약 조건문이 거짓이 된다면, 그 반복문 안의 문장은 실행을 멈추고 반복문 바로 다음의 문장으로 넘어간다.
let 변수 =
초깃값
;
while
(조건식
) {
자바스크립트 코드;
증감식
;
}
특정한 조건이 거짓으로 판별될 때까지 반복한다.
조건문을 확인하기 전에 문장은 한번 실행된다!
만약 조건이 참이라면, 그 문장은 다시 실행되며, 조건문이 거짓일 경우, 실행을 멈추고 do...while 문 바로 아래에 있는 문장으로 넘어가게 한다.
let 변수 =
초깃값
;
do
{
자바스크립트 코드 ;
증감식
;
}while
(조건식
)
while을 사용했다면 i가 3이라서 i < 3 조건을 만족하지 못하므로
블럭이 실행되지 않아 출력이 되지 않았겠지만,
do while은 블럭이 먼저 실행되고 i가 조건에 만족하는지 검사하기 때문에
3이 출력된다
while이나 for문은 중첩해서 작성할 수 있다.
i가 0일 때 j를 0부터 4까지 돌리고
i가 1일 때 j를 0부터 4까지 돌리고
i가 2일 때 j를 0부터 4까지 돌린다
그러나 이렇게 중첩해서 작성하는 것은 cpu에 좋지 않기 때문에 최소한으로 쓰는 것이 좋다.
반복문 안에서는 break와 continue 키워드를 사용할 수가 있다.
조건식과 상관없이 강제로 반복문을 종료
i가 8이면 반복문을 종료하게 함으로써 7까지만 출력할 수 있다.
- while문 안에 있는 continue문
: 다음에 오는 코드는 무시하고 바로 조건식으로 가서 조건 검사를 실행하라는 의미- for문 안에 있는 continue문
: 다음에 오는 코드는 무시하고 증감식을 바로 실행하라는 의미
❔ 1부터 10 범위에서 짝수만 출력하기 🔽
continue 사용 ❌
continue 사용 ⭕
i가 2로 나누었을 때 나머지가 1이면 (i % 2 == 1),
i가 2로 나누었을 때 나머지가 0이 아니라면 (i % 2 != 0)
➡ 홀수라는 의미.
그때는 출력을 하지 않고 다시 조건식으로 가게 해야
짝수만 출력할 수 있다.