2 minute read

문장

  • 형태 : ; (세미콜론)

white space

  • 사람 눈에 보이지 않는 문자
  • 탭, 공백, 줄바꿈 …

세미콜론 자동 삽입

  • 문장 끝에 세미콜론을 삽입을 안했으면, 자동으로 삽입..!
var one = 1     /*자동 ; 삽입*/
var two = 2;
Console.log(one);

블록

  • 형태 : {}

debugger

  • debugger 위치에서 실행 멈춤
  • 브라우저의 개발자 도구 창이 열려 있을 때만 멈춤
  • 열려있지 않으면 멈추지 않음
  • ES5 부터 지원
var sports = "스포츠";
debugger;
console.log(sports);

다음 코드를 실행시키면,

[no-alignment] 처럼 “스포츠” 가 콘솔에 출력되지 않다가, [no-alignment] 다음 화살표 버튼을 눌러 재개하면

[no-alignment]

“스포츠”가 출력되는것을 확인할 수 있다.

for

for (var k = 0; k < 2 ; k++){
    console.log(k);
};

연습문제

  • for문을 사용하여
    • 1에서 50까지 반복하면서
    • 홀수 번째 값과
    • 짝수 번째 값을 누적하고
    • 반복한 값을 누적합니다.
  • 반복을 완료하면
    • 누적한 홀수 번째 값과
    • 누적한 짝수 번째 값을 출력합니다.
    • 누적한 전체값을 출력합니다.
var odd = 0, even =0;
for(var i = 1; i<= 50; i++){
    if(i % 2 == 1)
    {
        /*odd*/
        odd += i;
    }/*주의할 점,, else가 뒤에 붙을 때는 if 블록다음에 세미콜론(;)을 붙이면 오류 발생*/
    else
    {
        /*even*/
        even += i;
    };
};

console.log(odd,even,odd+even);

[no-alignment]

break

  • for,while 문 내에서 사용 가능
    var k = 0, m = 0;
    whlie(k < 3){
      m++;
      if(m === 2)
      {
          break;
      }
    }
    

    continue

  • for,while 문 내에서 continue를 만나게 되면, 이 후 반복문 내용은 생략 다음 턴으로 넘어간다.

switch

var exp = ?
/*
if exp == 1 then,
print on console
100
200
300
400
if exp == 4 then,
print on console
300
400
if exp == 3 then,
print on console

400
if exp == 10 or 11 then,
print on console
600
*/
switch(exp){
    case 1:
        console.log(100);
    case 2:
        console.log(200);
    default :
        console.log(300);
    case 3 :
        console.log(400);
    case 10 :
    case 11 :
        console.log(600);
}

try-catch

  • 예외 발생 인식 후 처리 방식 설정
var value;
try{
    value = ball;
}catch(error){
    /*error 에는 에러 내용 담긴다.*/
    console.log("raise error");
};
var kong;
try{
    kong = ball;
}catch(error){
    /*예외 발생시 실행, error 에는 에러 내용 담긴다.*/
    console.log("raise error");
}finally{
    /* 예외 발생과 상관없이 실행 */
    console.log(kong);
};


/* result */
raise error /*error 구문*/
undefined /*finally 구문*/

var kong;
try{
    kong = 3;
}catch(error){
    /*예외 발생시 실행, error 에는 에러 내용 담긴다.*/
    console.log("raise error");
}finally{
    /* 예외 발생과 상관없이 실행 */
    console.log(kong);
};

/*
result
3
*/

throw

  • 명시적으로 예외를 발생시킬때
    var ball = -1;
    try{
      if(ball == -1)
      {
          throw "음수가 오면 큰일나는 상황";
      };
      ball += 1;
    }catch(error){
      console.log(error);
      console.log(ball); /* +1 연산 하지 않고, -1 출력*/
    }
    

strict

  • 문자열로 “use strict” 로 작성
  • 엄격하게 JS 문법 사용을 할 것을 선언,,
book = "book"; /*wrong grammar but keep going*/
console.log(book);
/*run well*/
"use strict"
try{
    book = "book"; /*wrong grammar*/
}catch(error){
    console.log(error); /*raise error*/
}