#1. 변수의 스코프
let, const 키워드로 선언된 경우
- 블록 { } 밖에서 선언된 변수는 블록 안에서 불러올 수 있지만, 블록 안에서 선언된 변수는 밖에서 불러올 수 없다.
- 변수의 범위가 블록안에서만 인정되기 때문에 다른 블록에서 중복 선언이 가능하다.
- var 키워드는 선언된 위치에 상관없이 불러올 수 있기 때문에 사용하지 않는 것이 좋다.
let example = 1;
if(true) {
let result = example + 4;
// 정상출력
console.log(result); // 5
}
// 에러발생, 블록 안에 선언된 result 변수는 밖에서 불러올 수 없다.
console.log(result); // 에러
#2. 조건문
- 프로그램 수행 흐름을 바꾸는 역할을 하는 제어문 중 하나로 조건을 판단하여 실행한다
- if 문, if-else 문, if-else-if 문, 중첩 if 문, switch 문 이 있다.
1. if 문
- 주어진 조건식이 참(true)인 경우 블록( {} ) 안의 문장을 수행한다.
- 논리식(AND, OR, NOT), 비교식(>=, >, <, <=, ==, !=, ===, !==), 논리값(true, false) 등 조건에 따라 구분할 수 있다.
- 아래 if-else 문, if-else-if 문, 중첩 if 문들을 통틀어 if문이라고 한다.
if(조건식) {
조건식이 참인 경우 실행할 문장
};
2. if - else 문
- if 문은 조건이 참인 경우에만 수행되고 거짓인 경우 수행되지 않는다.
- if 문 뒤에 else 문을 덧붙여 조건이 거짓인 경우에 수행되는 구문을 추가할 수 있다.
- else 문은 독립적으로 사용할 수 없다.
if(조건식) {
조건이 참인 경우 실행할 문장
} else {
조건이 거짓인 경우 실행할 문장
};
3. if - else - if
- 여러 가지 경우의 수를 나열하는 조건문
- 순차적으로 조건을 판별하면서 가장 처음 만나는 참인 조건의 블록을 수행하고 빠져나간다.
if (조건식1) {
조건이 참인 경우에 실행할 문장
} else if (조건식2) {
조건이 참인 경우에 실행할 문장
} else if (조건식3) {
조건이 참인 경우에 실행할 문장
} else if (조건식3) {
조건이 참인 경우에 실행할 문장
} else {
조건이 거짓인 경우에 실행할 문장
};
4. 중첩 if 문
1) if - if 구조
- if 문 안에 if 문을 중첩해서 사용 가능하다.
- 특정 조건이 참으로 판단되어 블록안에 진입했을 때, 상세조건을 판별하는 구조이다.
if(조건식1) {
if(조건식2) {
조건식1 과 조건식2가 모두 참일 때 수행할 문장
} else {
조건식1이 참이고, 조건식2가 거짓일 때 수핼 할 문장
};
} else {
조건식1이 거짓일 때 수행될 문장
};
2) if - for 구조
- if 문 안에 for 문을 중첩해서 사용 가능하다.
- 특정 조건이 참으로 판단되어 블록안에 진입했을 때, 반복을 수행하는 구조
if(조건식) {
for(초기식; 조건식; 증감식) {
~ 수행될 문장 ~
}
} else {
조건식이 거짓일 때 수행될 문장
};
5. switch 문
- 하나의 변수나 수식에 대한 여러 가지 경우의 수를 나열하는 형식이다.
- 처리해야 하는 경우의 수가 많을 때 유용하다.
- 조건에 맞는 case 블록부터 break 키워드를 만날 때까지 실행한다.
- switch 문의 조건식 결과는 정수 또는 문자열 이어야 한다.
- case문의 값은 정수, 상수, 문자열만 가능하며 중복되지 않아야 한다. (변수 x)
const kor = "C";
switch(kor) {
case "A" :
console.log("90점 이상")
break;
case "B" :
console.log("80점 이상")
break;
case "C" :
console.log("70점 이상")
break;
case "D" :
console.log("60점 이상")
break;
default :
console.log("재평가")
break;
}; // 70점 이상
- 마지막에 default는 모든 케이스를 충족하지 않을 경우 실행되고, 필요 없다면 생략할 수 있다. (else와 같은 기능)
- break가 없다면 해당 case문부터 default 값 까지 함께 실행된다.
#3. 반복문
1. while 문
- 주어진 조건을 만족시키는 동안 블럭을 반복해서 수행한다.
- 초기식, 조건식, 증감식의 요소를 충족해야 성립한다.
1.초기식;
while(2.조건식) {
3. 조건식의 연산 결과가 참인 동안 반복될 문장;
4. 증감식;
}
let i = 1;
while(i < 5) {
console.log(i);
i++;
}
- { } 안에서 선언되는 변수나 상수는 해당 블록 안에서만 유효하다.
2. for 문
- while 문 과 다르게 초기식, 조건식, 증감식을 한 괄호 () 안에 모두 넣은 형태
- 초기식, 조건식 확인 후 조건식이 참인 경우 { } 안을 1회 실행하고 증감식으로 이동한다. (증감식 실행 후 다시 조건식으로 이동)
- 조건식이 거짓인 경우 { } 블록을 실행하지 않는다.
- 대부분의 개발자는 while 문 보다 for 문을 많이 사용한다.
for(1.초기식; 2.조건식; 4.증감식) {
3. ~ 수행될 문장 ~
};
for(let i = 1; i < 5; i++) {
console.log(i);
}; // 1 ~ 4 출력
3. 중첩 for 문
- for 문 내에 또 다른 for 문을 넣어 반복문을 만들 수 있다.
// 구구단 출력
for(let i = 1; i < 10; i++) {
console.log(`== ${i} ==`);
for(let j = 1; j < 10; j++) {
console.log(`${i} x ${j} = ${i*j}`);
}
}
'국비수업 > JavaScript' 카테고리의 다른 글
[Javascript] 배열 (0) | 2022.01.29 |
---|---|
[Javascript] [연습문제] 기본 문법 활용 실습 (0) | 2022.01.28 |
[Javascript] 연산자 (0) | 2022.01.26 |
[Javascript] 변수와 데이터 타입 (0) | 2022.01.25 |
[Javascript] 자바스크립트의 개념 / 환경 구성 (0) | 2022.01.25 |