티스토리 뷰
1. 블록문
0개 이상의 문들을 중괄호로 묶은 것으로 코드 블록 또는 블록이라고 부르기도 한다.
블록문은 단독으로 사용할 수도 있으나 일반적으로 제어문이나 함수 선언문에서 사용. 원래 문의 끝에는 ;를 붙이지만 블록문은 세미클론을 붙이지 않는다.
// 블록문
{
var foo = 10;
console.log(foo);
}
// 제어문
var x = 0;
while (x < 10) {
x++;
}
console.log(x); //10
2. 조건문
주어진 조건식의 평가 결과에 따라 코드블럭(블록문)의 실행을 결정한다. 조건식은 불리언 값으로 평가될 수 있는 표현식이어야 된다.
만약 조건식의 평가결과가 불리언 값이 아니면 불리언 값으로 강제 변환되어 논리적 참, 거짓을 구별한다.
2.1 if..else문
if(조건식1) {
// 조선식 1이 참이면 이코드 블록이 실행.
} else if (조건식2) {
// 조건식 2이 참이면 이 코드 블록이 실행.
} else {
// 조건식1과 조건식 2가 모두 거짓이면 이 코드 블록이 실행.
}
else if문과 else문은 옵션으로 사용할 수도 있고 사용하지 않을 수도 있다. if문과 else문은 2번이상 사용할 수 없지만 else if 문은 여러번 사용할 수도 있다.
대부분의 if..else문은 삼항조건연산자로 바꿔쓸 수도 있다!
var x =2;
var result;
if (x % 2) {
result = "홀수";
} else {
result = "짝수";
}
console.log(result) //짝수
--------------------------------
var x =2;
var result = x % 2 ? "홀수" : "짝수";
console.log(result); //짝수
2.2 switch문
switch문은 switch문의 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 순서를 이동 시킨다.
switch문의 표현식과 일치하는 표현식을 갖는 case문이 없다면 실행 순서는 default 문으로 이동한다. default옵션으로 사용할 수도 있고 사용하지 않을 수도 있다.
switch (표현식) {
case 표현식1:
switch 문의 표현식과 표현식1이 일치하면 실행될 문;
break;
case 표현식2:
switch 문의 표현식과 표현식2가 일치하면 실행될 문;
break;
default:
switch 문의 표현식과 일치하는 표현식을 갖는 case 문이 없을 때 실행될 문;
}
// 월을 영어로 변환한다. (11 → 'November')
var month = 11;
var monthName;
switch (month) {
case 1:
monthName = 'January';
break;
case 2:
monthName = 'February';
break;
case 3:
monthName = 'March';
break;
case 4:
monthName = 'April';
break;
case 5:
monthName = 'May';
break;
case 6:
monthName = 'June';
break;
case 7:
monthName = 'July';
break;
case 8:
monthName = 'August';
break;
case 9:
monthName = 'September';
break;
case 10:
monthName = 'October';
break;
case 11:
monthName = 'November';
break;
case 12:
monthName = 'December';
break;
default:
monthName = 'Invalid month';
}
console.log(monthName); // November
여기서 break문은 코드 블록에서 탈출하는 역할을 한다.
default문에는 break문을 생략하는 것이 일반적. 가장 마지막에 위차하므로 default문의 실행이 종료하면 switch문을 빠져 나간다. 따라서 별로의 break문이 필요 없는 것.
switch문은 case, default, break 등 다양한 키워드를 사용해야 하고 폴스루가 발생하는 등 문법도 복잡하다. if..else문으로 해결할 수 있다면 if..else문을 사용하는 편이 더 나음!
3. 반복문
반복문(Loop statement) 은 주어진 조건식의 평가결과가 참인 결우 코드블럭을 실행한다. 그 후 조건식을 다시 검사하여 여전히 참인 경우 코드 블록을 다시 실행한다. 조건식이 거짓일 떄 까지 반복.
자바스크립트에선 3가지의 반복문을 제공 for문, while문, do...while문
+ for..in문
+ [ES6] for...of문
3.1 for 문
이것이 가장 일반적으로 사용되는 반복문이다.
for (var i = 0; i < 2; i++) {
console.log(i);
}
for문의 실행순서 !!!!! 아주 중요하므로 숙지.
for문 내에 for문을 중첩해서 사용이 가능하다.
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]
위의 예제는 두 개의 주사위를 던졌을 때, 두 눈의 합이 6이 되는 모든 경우의 수를 출력하는 예제.
3.2 while문
while 문은 주어진 조건식의 평가 결과가 참이면 코드 블록을 계속해서 반복 실행한다. 조건문의 평가 결과가 거짓이 되면 실행을 종료한다. 만약 조건식의 평가 결과가 불리언 값이 아니면 불리언 값으로 강제 변환되어 논리적 참, 거짓을 구별한다.
var count = 0;
while (count < 3) {
console.log(count);
count++;
} // 0 1 2
조건식의 평가결과가 언제나 참이면 무한루프가 된다.
//무한 루프
while (true) { }
var count = 0;
//무한루프
while (true) {
console.log(count);
count ++;
// count가 3이면 코드 블록을 탈출
if (count === 3) break;
} /// 0 1 2
무한루프를 탈출하기 위해서는 코드 블럭 탈출 조건을 if문에 부여하고 break문으로 코드 블럭을 탈출한다.
3.3 do...while 문
코드 블록을 실행하고 조건식을 평가한다.
var count = 0;
// count가 3보다 작을 때까지 코드 블록을 계속 반복 실행한다.
do {
console.log(count);
count++;
} while (count < 3); // 0 1 2
'JavaScripe' 카테고리의 다른 글
JavaScript / 변수 호이스팅 (0) | 2022.04.14 |
---|---|
JavaScript / 스코프 (0) | 2022.04.14 |
Node.js란? (0) | 2022.04.08 |
Bootstrap이란? (0) | 2022.04.08 |
컴퓨팅사고 / 2진법, 문자의 표현, 알고리즘 (0) | 2022.04.07 |
- Total
- Today
- Yesterday
- ip address
- CSS
- 자바스크립트 #
- dns
- flex
- spread operator
- 개구리게임
- html
- ㅊC
- network
- Internet
- 환테크 #엔화투자 #환전수수료 #토스
- git #github #코딩애플
- DeepDive
- React #React기초 #Reactdocs
- HTML #폰트태그 #이미지태그
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |