Javascript 세미콜론(;) 표기법
15 Mar 2018 | JavascriptJavascript 세미콜론(;) 표기법
함수 선언문과 함수 표현식에서의 세미콜론(;)
- 일반적으로 코드를 작성할 때 함수 표현식에서는 ;(세미콜론)을 붙히고 함수 선언문으로 작성할 시에는 ;(세미콜론)을 붙이지 않는다.
- 이것은 하나의 관습이고 코드 작성시 권장되는 방식
- 자바스크립트에서는 세미콜론 사용을 강제하지는 않는다. 그 이유는 자바스크립트 인터프리터가 자동으로 세미콜론을 삽입시켜 주기 때문.
- 하지만 세미콜론에 신경을 쓰지 않는다면 소스 압축 배포를 하거나 디버깅을 할 시에 심각한 상황에 직면할 수 도 있다.
//함수표현식
var apple = function(){
return 300;
};
//함수 선언문
function apple(){
return 300;
}
필수사항: 두개 명령문이 같은 줄에 있을때
- 세미콜론은 같은 줄에 둘 이상의 명령문(statements)이있을 때만 필수입니다.
var i = 0; i++ // <-- semicolon obligatory
// (but optional before newline)
var i = 0 // <-- semicolon optional
i++ // <-- semicolon optional
옵션사항: 명령문 이후에
- 자바스크립트의 세미콜론은 명령문을 분리하는데 사용되지만, 명령문 다음에 줄바꿈이 있으면(또는 {}에 단하나의 명령문만 있는경우) 생략할 수 있습니다. 명령문은 어떤 일을 지시하기 위해 컴퓨터에게 알려주는 코드 조각입니다. 다음은 가장 일반적인 명령문 유형들이 있습니다.
var i; // variable declaration
i = 5; // value assignment
i = i + 1; // value assignment
i++; // same as above
var x = 9; // declaration & assignment
var fun = function() {...}; // var decl., assignmt, and func. defin.
alert("hi"); // function call
Avoid!
(1) {}가 닫힌 후에
}
이 닫힌 이후에 세미콜론을 사용하면 안됩니다.var obj={};
와 같은 할당문은 예외입니다.
// NO semicolons after }:
if (...) {...} else {...}
for (...) {...}
while (...) {...}
// BUT:
do {...} while (...);
// function statement:
function (arg) { /*do this*/ } // NO semicolon after }
(2) if, for, while, switch의 괄호()) 후에 명령문
- if 문의 {} 후에 세미콜론을 사용해도 상관없습니다. (무시되어지고, 불필요하다고 warning을 보게됩니다.) 그러나 세미콜론이 속하지 않는 (if, for, while, switch 문의 ()의 후와 같은)경우에는 좋은 생각이 아닙니다.
if (0 === 1); { alert("hi") }
// equivalent to:
if (0 === 1) /*do nothing*/ ;
alert ("hi");
예외
for
루프의()
안에 세미콜론은 오로지 첫번째 이후와 두번째 명령문에만 사용하며 세번째는 사용하지 않습니다.
` javascript for (var i=0; i < 10; i++) {/actions/} // correct for (var i=0; i < 10; i++;) {/actions/} // SyntaxError`
Comments