JavaScript 입문 | 개요 | 자바스크립트 문법

프로그램(program)이란?

프로그램은 컴퓨터가 실행할 수 있는 명령(instruction)으로 이루어진다.
컴퓨터 프로그래밍에서 컴퓨터가 실행할 수 있는 명령들을 실행문(statement)이라고 한다.
즉, 프로그램이란 특정 결과를 얻기 위해서 컴퓨터에 의해 실행되는 실행문의 집합이라고 할 수 있다.

자바스크립트 문법

자바스크립트의 실행문은 세미콜론(;)으로 구분된다.

var x = 10;
var result = x + 3

자바스크립트는 대소문자를 구분한다.
자바스크립트에서 변수나 함수의 이름, 예약어 등을 작성하거나 사용할 때에는 대소문자를 정확히 구분해서 사용해야 한다.

var javascript = 10; // 변수 javascript와 JavaScript는 서로 다른 두 개의 변수로 인식됨.
var JavaScript = 20;
Var Script = 30; // 변수의 선언은 var 키워드로만 할 수 있으면 Var는 동작하지 않음.

리터럴(literal)

리터럴은 직접 표현되는 값 그 자체를 의미한다.

다음 예제에서 등장하는 값들은 모두 리터럴이다.

12            // 숫자 리터럴
"JavaScript"  // 문자열 리터럴
'안녕하세요'  // 문자열 리터럴
true          // 불리언 리터럴

식별자(identifier)

식별자는 변수나 함수의 이름을 작성할 때 사용하는 이름을 의미한다.
자바스크립트에서 식별자는 영문자(대소문자), 숫자, 언더스코어(_) 또는 달러($)만을 사용할 수 있다.

자바스크립트에서 식별자는 숫자와 식별자의 구별을 빠르게 할 수 있도록 숫자로는 시작할 수 없다.
자바스크립트는 유니코드(unicode) 문자셋을 사용한다.

식별자 작성 방식

자바스크립트에서는 식별자를 작성할 때 다음과 같은 작성 방식을 사용할 수 있다.

  1. Camel Case 방식
  2. Underscore Case 방식

Camel Case 방식이란 식별자가 여러 단어로 이루어질 경우에 첫 번째 단어는 모두 소문자로 작성하고, 그다음 단어부터는 첫 문자만 대문자로 작성하는 방식이다.
Underscore Case 방식은 식별자를 이루는 단어들을 소문자로만 작성하고, 그 단어들은 언더스코어(_)로 연결하는 방식이다.

자바스크립트에서는 식별자를 작성할 때 관행적으로 Camel Case 방식을 많이 사용한다.
따라서 우리 수업에서도 코드의 가독성 및 통일성을 위해 Camel Case 방식만을 사용할 것이다.

var firstVar = 10;           // Camel Case 방식
function my_first_func {     // Underscore Case 방식
    var firstLocalVar = 20;  // Camel Case 방식
}

자바스크립트에서 하이픈(-)은 뺄셈을 위해 예약된 키워드이므로, 식별자를 작성할 때는 사용할 수 없다.

키워드(keyword)

자바스크립트에서는 몇몇 단어들을 특별한 용도로 사용하기 위해 미리 예약하고 있다.
이렇게 미리 예약된 단어들을 키워드(keyword) 또는 예약어(reserved word)라고 한다.
이러한 키워드들은 프로그램 내에서 식별자로 사용할 수 없다.

var firstVar = 10;      // var는 변수의 정의를 위해 예약된 키워드이다.
function myFirstFunc {  // function은 함수의 정의를 위해 예약된 키워드이다.
    var secondVar = 20; // var는 변수의 정의를 위해 예약된 키워드이다.
}

주석(comment)

주석(comment)이란 코드 내에 삽입된 일종의 설명문이다. 주석은 작성자나 다른 개발자가 나중에 코드를 수정할 때 참고할 수 있으며, 웹 페이지 개발 시 디버깅에도 사용된다. 이러한 주석은 자바스크립트 코드의 어느 부분에라도 작성할 수 있으며, 웹 브라우저의 동작에는 전혀 영향을 미치지 않는다.

자바스크립트 주석은 다음과 같은 두 가지 형식을 지원한다.

문법

1.   주석 : // 주석문
2. 여러  주석 : /* 주석문 */
var x = 10;
// var y = 20; 한 줄의 주석문 : 이 부분은 실행되지 않을 것이다.
/*
x = x + y;
여러 줄의 주석문 :
이 부분 또한 실행되지 않을 것이다.
*/
document.getElementById("text").innerHTML = x;

다음 예제는 자바스크립트에서 여러 줄 주석 안에 또 다른 주석을 삽입하는 예제이다.

/* 여러 줄
    // 이렇게 두 줄 주석 안에 또 다른 한 줄 주석을 삽입할 수 있다.
주석이다. */

위의 예제처럼 자바스크립트에서는 여러 줄 주석 내부에 또 다른 한 줄 주석을 삽입할 수 있다.

하지만 다음 예제처럼 여러 줄 주석 내부에 또 다른 여러 줄 주석을 삽입할 수는 없다.

/* 여러 줄
    /* 또 다른 여러 줄 주석이다. */
주석이다. */

위의 예제처럼 여러 줄 주석 안에 또 다른 여러 줄 주석을 삽입하게 되면, 삽입한 주석의 종료를 알려주는 기호(*/)를 첫 번째 주석이 자신의 종료를 알려주는 기호(*/)로 인식하게 된다.
따라서 위의 예제에서 세 번째 라인은 주석으로 정상 인식되지 않으며, Uncaught SyntaxError가 발생하여 실행중이던 스크립트는 중지될 것이다.

그러므로 자바스크립트에서 여러 줄 주석은 절대로 중첩해서 사용해서는 안 된다.