반응형

# 자바스크립트 학습

# switch

  • switch문의 형태
switch(표현식) {
	case 표현식: 무장 리스트opt
    default; 문장 리스트opt
}
  • switch문에서 표현식의 평가 값과 일치하는 case 문을 수행한다.
var exp = 1;

switch(exp) {
	case 1:
    	log(100);
    case 2:
    	log(200);
}

=>
100
200

break가 없으면 해당하는 case부터 전부 실행.
  • break의 사용 예
var exp = 1;

switch(exp) {
	case 1:
    	log(100);
        break;
    case 2:
    	log(200);
}

=>
100

break로 인해 해당 case 실행 후 종료.
  • default : 일치하는 case가 없으면 실행된다.
var exp = 7, value;

switch(exp) {
	case 1:
		value = 100;
    default:
    	value = 700;
    case 2:
    	value = 200;
}

log(value);

=>
200

해당하는 값이 없으므로 default 실행, break가 없으므로 다음 문장 실행
  • OR (||) 형태 예
var exp = 3;

switch(exp) {
	case 2:
    case 3:		// 2 or 3
    	log(100);
}

=>
100

# try ~ catch

  • try ~ catch문의 형태
1. try 블록 catch (식별자) 블록

2. try 블록 finally 블록

3. try 블록 catch (식별자) 블록 finally 블록
  • try 문에서 예외 발생을 인식, 예외가 발생하면 catch 블록 실행
var value;

try {
	value = ball;
} catch(error) {
	log("catch 실행");
}

=>
catch 실행

value 변수를 선언만 했고, value변수에 ball이라는 변수를 할당,
ball 변수가 선언되어 있지 않으므로 try 문에서 예외(에러) 발생하여 catch문 실행

try ~ catch 문에 위 사항들을 작성하지 않았다면 에러로 인행 프로그램이 중단된다.
하지만, try ~ catch문을 통해 프로그램 중단 없이 예외 발생 시 catch문이 실행된다.
  • 서버에서 데이터를 가져올 때(통신을 할 때)는 에러 발생등에 사전에 대비하여 프로그램이 중단되는 일이 생기지 않도록 반드시 try ~ catch문에 작성을 해야 한다.
  • finally 블록은 예외 발생과 관계없이 실행된다.
var sports;

try {
	sports = ball;
} catch(error) {
	log("catch 실행");
} finally {
	log("finally 실행");
};

=>
catch 실행
finally 실행

sports 변수에 ball 할당 시 ball 변수 선언된 적이 없어 에러 발생.
이로 인해 catch문 실행, finally 실행
만약 에러가 발생하지 않았을 경우엔 try문 실행, finally 실행

# throw

  • throw 형태
throw 표현식;
  • 명시적으로 예외를 발생시킬 때 사용한다.
  • 예외가 발생하면 catch문을 실행한다.
try {
	throw "예외 발생시킴";
    var sports = "스포츠";
} catch(error) {
	log(error);
    log(sports);
}

=>
예외 발생시킴
undefined

throw문으로 인해 의도적으로 에러 발생하여 throw 메세지 출력; 세미콜론 다음 문장은 실행되지 않는다.
try {
	throw {
    	msg: "예외 발생시킴".
        bigo: "임의의 이름 사용"
    };
} catch(error) {
	log(error.msg);
    log(error.bigo);
};

=>
예외 발생시킴
임의의 이름 사용
try {
	throw new Error("예외 발생시킴");
} catch(error) {
	log(error.message);
};

=>
예외 발생시킴

# strict 모드

  • strict 모드 형태
"use strict"
  • 엄격하게 자바스크립트(JS) 문법 사용의 선언
  • 작성한 위치부터 적용된다.
book = "책";
log(book);

=>
책

var을 작성하지 않은 형태
var을 사용하여 변수를 선언해야 하지만, 변수가 선언되고 "책"이 할당된다.
user strict 작성

"use strict";
try {
	book = "변수 선언하지 않음";
    log(book);
} catch(error) {
	log(error.message);
}

=>
변수 선언하지 않음

var 키워드를 작성하지 않은 형태
use strict로 코딩 실수를 예방할 수 있다.
  • ES 5부터 지원한다.
반응형

+ Recent posts