문법

ECMAScript의 문법은 C, JAVA, Perl등 C와 비슷한 언어에서 차용한 것입니다.
이미 위 언어들에 익숙한 개발자들은 다소 느슨한 ECMAScript문법이 매우 쉽게 느껴지실 겁니다.

대소문자 구분

어디서든 대소문자를 구별합니다.
test와 Test는 다른변수입니다.
typeof 같이 이미 지정되 키워드는 변수명 등으로 사용 할 수 없으나, typeOf는 사용 할 수 있습니다.

식별자

변수 함수, 프로퍼티, 함수 매개변수의 이름을 식별자로 부릅니다.

  • 첫 번째 문자는 반드시 글자, 밑줄(_), 달러기호($) 중 하나여야 합니다.
  • 첫 번째 이후 문자는 글자, 밑줄, 달러기호, 숫자를 자유롭게 쓸 수 있습니다.

카멜케이스(낙타표기법)

식별자는 관습적으로 카멜케이스로 씁니다.
카멜케이스란 첫번째 글자는 소문자로 쓰고 단어가 바뀔때마다 단어의 첫 글자를 대문자로 표기하는 방식입니다.

firstSecond
myCar
doSomthingImportant

반드시 이렇게 할 필요는 없지만, 내장 함수와 객체가 카멜 케이스로 표기되어 있어 이 형식을 따르길 권합니다.

주석

한 줄 주석과 블록 주석 모두 C언어 스타일로 표기합니다.

한줄 주석

//한 줄 주석

블록 주석


/*
  * 다중
  * 주석1
  */

/*
다중
주석2
*/

다중주석 1의 경우 두번째 세번째줄의 아스테리스크를 가독성을 위해 추가한 것이며 (기업 애플리케이션에서 선호하는 방법)
다중주석 2와같이 작성하여도 됩니다.

스트릭트 모드(strict mode)

ECMAScript 5에서는 ‘스트릭트 모드’ 개념을 도입했습니다.
이는 기존과 다른 방식으로 자바스크립트를 파싱하고 실행하라고 지시하는 것입니다.
ECMAScript 3판의 문제를 해결하고 안전하지 않은 동작에는 에러를 반환하도록 합니다.

사용하려면 다음 문장을 스크립트 맨 위에 추가하시면 됩니다

"use strict"

이 선언은 마치 변수에 저장하지 않는 문자열 처럼 보입니다.
하지만 스트릭트 모드를 인식하는 자바스크립트 엔진은 이를 인식 할 수 있습니다.

특정 함수 하나에만 스트릭트 모드로 실행하고자 할 경우에는 함수 본문 맨앞에 위 문장을 추가해주시면 됩니다.

function doSomething(){
    "use strict";
    //함수 본문
}

스트릭트 모드에 관해서는 참고하는 책 전반에 걸쳐서 설명한다고 합니다.
즉 이후 포스트에 꾸준히 언급될 예정입니다.

문장

각 문장은 세미콜론으로 종료합니다.
세미콜론을 생략할 경우에는 자바스크립트 엔진이 문장이 끝나는 위치를 판단합니다.
하지만 압축 하거나 할때 문법 에러가 발생할 수 있으므로 항상 사용하는 것을 권장합니다.

코드 블록으로 합칠 수 있습니다
{로 시작해서 }로 끝납니다.

if (test) {
    test = false;
    alert(test);
}

if의 경우 실행하는 문장이 하나뿐이라면 코드 블록을 쓰지 않아도 됩니다.
허나 추후 유지보수나 명확한 표현을 위하여 블록을 사용하길 권장합니다.
```javascript
if (test)
    alert(test);     //유효한 코드입니다. 하지만 추후 에러의 원인이 될수 있습니다.

if(test){
    alert(test);     //이렇게 하길 권장합니다.
}

마치며

자바스크립트의 문장은 위와같이 사용할 수 있습니다.
다음 포스트에서는 자바스크립트에 지정되어있는 키워드와 예약어에 대해서 알아봅시다.

이 포스트는 프론트엔드 개발자를 위한 자바스크립트(인사이트)에서 발췌한 내용이 포함되어 있습니다.
내용 전문이 아니기 때문에 자세하게 알고싶으신 분은 프론트엔드 개발자를 위한 자바스크립트(인사이트) 서적을 참고 하시길 바랍니다.