프로그램을 개발하기 위해 자바스크립트 소스코드에 입력하는 문장
문장 | 실행문 | 순차문 | ||
제어문 | 분기문 | if, if~else, 다중 if~else, switch | ||
반복문 | for, while, do~while | |||
비실행문 | 주석문 | 한 줄 주석문(//) | ||
여러 줄 주석문(/* */) |
<순차문>
소스코드 내에서 순차적으로 실행되는 문장
반드시 ;(세미콜론)으로 끝나며, 자바스크립트 소스코드의 대부분이 여기에 해당된다.
<제어문>
프로그램의 흐름에 영향을 주고 제어가 가능하도록 하는 문장으로, 중첩 사용이 가능하다.
분기문(비교문)
주어진 조건의 결과에 따라 실행할 문장을 다르게 하기 위해 사용되는 제어문
- if문: 주어진 조건식을 만족하는 경우에만 특정 문장을 수행한다.
문장1;
if(조건식){
문장2;
}
문장3;
자바스크립트 변수는 블록단위가 아닌 함수단위의 scope로 동작된다.
아래 코드처럼 if 블록 안에서 선언, 초기화된 n을 if 블록 밖에서 출력 가능하다.
if(5 > 3){
var n = 10;
}
console.log(n); // 10;
- if else문: 조건식의 결과에 따라 실행되는 문장이 다른 경우에 사용한다.
문장1;
if(조건식){
문장2;
} else{
문장3;
}
문장4;
- 다중 if ~ else문(else if): 비교할 조건식이 여러 개인 경우 사용한다.
if(조건식1){
문장1;
} else if(조건식2){
문장2;
} else if(조건식3){
문장3;
} else{
문장n;
}
- switch문: 다중 if~else문과 비슷한 용도로 사용한다.
switch(인자값){
case 조건값1:
실행문; break;
case 조건값2:
실행문; break;
case 조건값3:
실행문; break;
default:
실행문;
}
반복문
특정한 문장을 정해진 규칙에 따라 반복하기 위한 제어문
- for문: 정해진 횟수만큼 문장을 반복 처리하기 위한 제어문으로, 반복 횟수를 예측할 수 있을 때 주로 사용한다.
for(초기식; 조건식; 증감식;){
문장1;
}
문장2;
자바스크립트 변수는 블록단위가 아닌 함수단위의 scope로 동작된다.
아래 코드처럼 if 블록 안에서 선언, 초기화된 n을 if 블록 밖에서 출력 가능하다.
function a(n){
alert(i); //i를 선언, 초기화하기 전에 호출 가능함.
//단, 변수가 선언만 된 상태이므로 i값은 undefined가 리턴된다.
for(var i = 0; i < n; i++){
...
}
return i;
}
a(10); // 10
- 향상된 for문: 배열이나 객체를 쉽게 처리할 수 있게 해 주는 반복문
가변수에 배열/연상배열(hash)이나 객체로부터 얻은 요소의 인덱스값, 연상배열의 키값이나 멤버명 등을 저장하여 for in 블록 내에서 요소값을 참조할 때 사용 가능하다.
요소값 자체가 가변수에 해당되는 것이 아니라, 배열의 경우 인덱스값, 객체의 경우 프로퍼티명이 해당된다.
for(가변수 in 배열/객체){
루프 내에서 실행할 명령
}
- while문: for문처럼 정해진 횟수만큼 문장을 반복 처리하기 위한 제어문이다.
다만 while문은 for문과 달리 조건식만 정해져 있기 때문에 초기식, 증감식을 적절한 위치에 지정해야 한다. 횟수를 예측하기 어려운 형태의 반복문에 주로 사용한다.
초기식;
while(조건식){
문장;
증감식;
}
- do while문: 조건식이 일치하지 않더라도 반드시 문장이 한 번은 실행되며, while문과 비슷하다.
초기식;
do{
문장:
증감식;
} while(조건식);
- break문: 반복문 안에서 사용되며, 가장 가까운 반복문을 빠져나가기 위해 쓰는 제어문이다.
switch문에서 사용 시 switch 블록을 빠져나간다.
- continue문: continue문 아래의 반복문을 포기하고 다음 회차의 반복문으로 이동한다.(반복문 블록 끝으로 이동)
'프로그래밍 > JavaScript' 카테고리의 다른 글
[JavaScript] DOM 및 Form 객체 (0) | 2020.09.13 |
---|---|
[JavaScript] 함수 (0) | 2020.09.13 |
[JavaScript] 연산자 (0) | 2020.09.13 |
[JavaScript] 식별자와 데이터형 (0) | 2020.09.08 |
[JavaScript] JavaScript 개요 (0) | 2020.09.08 |
댓글