모던자바스크립트 Deep Dive에서 발췌한 제어문에 대한 내용을 적어보자
공부 후에도 이해가 잘 가지 않는 부분 발생!!
1)경우의 수가 세 가지일 때 삼항연산자로 표현하는 방법
2)다중for문이 동작하는 순서, console.log([${i}, ${j}]
)의 의미
3)continue문의 동작 순서
1. 블록문
{
var foo = 10;
}
2. 제어문
var x = 1;
if(x < 10) {
x++;
}
3. 함수 선언문
function sum(a, b) {
return a + b;
}
1. 조건식이 1개인 경우
if(조건식) {
// 조건식이 참이면 이 코드 블록이 실행된다
} else {
// 조건식이 거짓이면 이 코드 블록이 실행된다
}
2. 조건식이 2개인 경우
if(조건식1) {
// 조건식1이 참이면 이 코드 블록이 실행된다
} else if(조건식2){
// 조건식2가 참이면 이 코드 블록이 실행된다
} else {
// 조건식1과 조건식 2가 모두 거짓이면 이 코드 블록이 실행된다.
}
var num = 0;
var kind;
if(num > 0) {
kind = '양수';
} else if(num < 0) {
kind='음수' ;
} else {
kind='0';
}
console.log(kind);
콘솔 출력 값 : 0
var x = 2;
var result;
// 2 % 2는 0이다. 이때 0은 false로 암묵적 강제 변환된다
if (x % 2) {
result = '홀수';
} else {
result = '짝수';
}
console.log(result); // 짝수
var x = 2;
var result = x % 2 ? '홀수' : '짝수';
console.log(result); // 출력 : 짝수
var num = 2;
var kind = num ? (num > 0 ? '양수' : '음수') : '영';
console.log(kind); // 출력 : 양수
if(x > 0) console.log(result = '정수');
switch(표현식) {
case 표현식1:
switch문의 표현식과 표현식1이 일치하면 실행될 문;
break;
case 표현식2:
switch문의 표현식과 표현식2기 일치하면 실행될 문;
break;
default:
switch문의 표현식과 일치하는 case문이 없을 때 실행될 문;
}
var year = 2000;
var month = 2;
var days = 0;
switch (month){
case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 :
days = 31;
break;
.... 이런 식으로...
for( var i = 0; i < 2; i++) {
console.log(i);
}
출력 : 0
1
for(var i=1; i >=6; i++){
for(var j=1; j >=6; j++){
if(i+j===6) console.log(`[${i}, ${j}]`);
}
출력
[1, 5]
[2, 4]
[3, 3]
[4, 2]
[5, 1]
var count = 0;
while (count < 3) {
console.log(count);
count++;
}
var count = 0;
while(count < 3) {
console.log(count);
count++;
if(count === 3) break;
}
var count = 0;
do {
console.log(count);
count++;
} while(count < 3);
if(true) {
break;
}
var string = 'Hello World.';
var search = 'l';
var count = 0;
for (var i = 0; i < string.length; i++);
if (string[i] !== search) continue;
count++;
}
console.log(count) // 3