형태 : ;(세미콜론)
문장을 끝나게 하는 역할
사람 눈에 보이지 않는 문자
가독성을 위한 것
문자마다 기능을 갖고 있음
e.g. 스페이스, 엔터, 탭, NBSP, Line Feed, Carriage Return 등
세미콜론은 문장 끝에 작성
세미콜론을 삽입하여 자동으로 문장이 끝나게 함
형태 : {문자 리스트opt}
중괄호{ }
실행 그룹
블록 안의 모든 문장 실행
문장 리스트
{ } 안의 모든 문장
문장 리스트 작성은 선택(option)
강좌에서 option을 opt로 표기
블록 사용 권장 -> 확장성과 일관성 위해
형태 : if (표현식) 문장1 or if (표현식) 문장1 else 문장2
조건에 따른 처리
먼저 표현식을 평가
평가 결과를 true/false로 변환
true이면 문장1 실행, false이면 문장2 실행
debugger 위치에서 실행 멈춤
브라우저의 개발자 도구 창이 열려 있을 때만 멈춤
열려있지 않으면 멈추지 않음
ES5부터 지원
debugger 종료하려면 F8, 다음으로 넘어가려면 F11
형태 : while (표현식)
표현식의 평가 결과가 false가 될 때까지 문장을 반복하여 실행. 반복이 종료되는 조건 필요
형태 : do 문장 while (표현식)
처리 방법은 while 문과 같음. 단, do 문을 먼저 실행
var k = 0;
do{
log("do:", k);
k++;
} while (k < 3){
log("while:", k);
};
/*
[실행 결과]
do:0
do:1
do:2
while:3
*/
형태 : for(초기값; 비교; 증감) 문장
2번째의 비교 표현식의 평가 결과가 true인 동안 문장을 반복 실행
증감 생략, 초기값과 증감 생략, 비교와 증감 생략, 모두 생략 가능 => 가능하지만 직관성, 가독성 떨어짐
형태: break; 혹은 break 식별자;
반복문 종료
for, for~in, while, do~while, switch에서 사용
형태: continue; 혹은 continue 식별자;
반복문의 처음으로 분기
for, for~in, while, do~while에서 사용
for (var k = 0; k < 5; k++){
if (k == 2 || k == 3){
continue; // k++로 분기
};
log(k);
};
/*
[실행 결과]
0
1
4
*/
switch (표현식) {
case 표현식 : 문장 리스트
default: 문장 리스트
};
switch 표현식의 평가 값과 일치하는 case 문 수행
break 사용
일치하는 case가 없으면 default 수행
OR(||) 형태
try 블록 catch (식별자) 블록
try 블록 finally 블록
try 블록 catch (식별자) 블록 finally 블록
try 문에서 예외 발생을 인식
예외가 발생하면 catch 블록 실행
finally 블록은 예외 발생과 관계없이 실행
형태: throw 표현식
;
명시적으로 예외를 발생시킴
예외가 발생하면 catch 실행
try {
throw "예외 발생시킴";
var sports = "스포츠";
} catch(error){
log(error);
log(sports);
};
/*
[실행 결과]
예외 발생시킴
undefined
*/
try {
throw {
msg: "예외 발생시킴",
bigo: "임의의 이름 사용"
};
} catch(error){
log(error.msg);
log(error.bigo);
};
/*
[실행 결과]
예외 발생시킴
임의의 이름 사용
*/
try {
throw new Error("예외 발생시킴");
} catch(error){
log(error.message);
};
형태 : "use strict";
엄격하게 JS 문법 사용의 선언
작성한 위치부터 적용
ES5부터 지원