제어문
- 문의 끝에는 세미콜론(:)을 붙이는 것이 일반적이다. 하지만 블록문은 언제나 문의 종료를 의미하는 자체 종결성을 갖기 때문에 블록문의 끝에는 세미콜론을 붙이지 않는다는 것에 주의하자
삼항 연산자
let kind = num ? (num > 0 ? '양수' : '음수') : '영';
console.log(kind)
switch 문
- 대부분은 if...else 문으로 해결하고, 조건이 너무 많이 올 때 가독성을 위해 switch를 사용하자
- default 문은 선택사항이다.
- 풀스루 : break를 사용하지 않으면 실행흐름이 이동하여 문을 실행하고, 문을 탈출하지 않고 모든 문을 실행하여 마지막인 default를 출력한다.
switch(표현식) {
case 표현식1:
switch 문의 표현식의 표현식1이 일치하면 실행될 문;
break;
case 표현식2:
switch 문의 표현식의 표현식2이 일치하면 실행될 문;
break;
default;
switch 문의 표현식과 일치하는 case문이 없을 때 실행될 문;
}
let month = 11;
let monthName;
switch(month) {
csae 1: monthName = 'January';
case 2 : monthName = 'February';
.
.
.
case 11 : monthName = 'November';
case 12 : monthName = ' December';
default : monthNAme = 'Invalid month';
}
console.log(monthName);
반복문
- 무한루프 : 변서 선언문, 조건식, 증감식은 모두 옵션이므로 반드시 사용할 필요는 없다. 단, 어떤 식도 선언하지 않으면 무한루프가 된다. 무한루프란 코드 블록을 무한히 반복 실행하는 문이다.
for(;;) {...}
while 문
- 반복 횟수가 불명확할 때 주로 사용한다. 따라서 조건식의 평가 결과가 언제나 참이면 무한루프가 된다. 무한루프를 탈출하기 위해서는 코드 블록 내에 if문으로 탈출 조건을 만들고 break문으로 코드 블록을 탈출 한다.
do...while 문
- 코드 블록을 먼저 실행한 후, 조건식을 평가한다.
- 따라서 코드 블록은 무조건 한 번이상 실행된다.
let count= 4;
do {
console.log(count);
count++;
console.log(count)l
} while (count < 3);
break 문
- break문은 반복문, 스위치 문의 코드블록을 탈출할 때 사용한다.
그 외의 문에서는 문법에러가 발생한다
if(true) {
break;
}
continue 문
- 반복문의 코드 블록 실행을 현 지점에서 중단하고 반복문의 증감식으로 실행 흐름을 이동시킨다. break문처럼 반복문을 탈출하지는 않는다.
let string = "Hello World.";
let seartch = 'l';
let count = 0;
for(let i = 0; i < string.length; i++) {
if(string[i] !== search) continue;
count++;
}
console.log(count);
const regxp = new RegExp(search, 'g');
console.log(string.match(regexp).length);
for(let i = 0; i < string.length; i++) {
if(string[i] !== search) count++;
}