
그 언어로 프로그램을 작성할 때 지켜야 할 기본적인 규칙의 집합
- 키워드, 변수, 함수 이름, 기타 식별자(iden-tifier)를 쓸 때 대소문자를 일관적으로 써야 한다.
자바스크립트는 대소문자를 구별한다.
(online, Online, OnLine, ONLINE은 모두 다른 변수)
토큰 사이의 공백을 무시하며, 대부분의 경우 줄바꿈도 무시한다.
(프로그램에서 공백과 줄바꿈을 마음대로 쓸 수 있으므로 사용자에게 맞는 일관적인 형식으로 작성 가능하다.)
스페이스 문자(\u0020)외에 탭(tab), ASCII 제어 문자, 유니코드 스페이스 문자를 모두 공백으로 인식한다.
뉴라인(\n), 캐리지 리턴(\r), 캐리지리턴/라인 피드를 모두 줄바꿈 문자로 인식한다.
- 주석은 자바스크립트 코드에 대한 설명 등을 작성 한다.
// 한 줄 주석
/* 여러 줄 주석
* 각 행 앞의 *문자는 없어도 되지만
* 그럴듯해 보임
*/
- 리터럴(literal)은 프로그램 안에 직접 쓴 데이터 값이다.
12 // 숫자 12
1.2 // 숫자 1.2
"hello world" // 문자열
'Hi' // 문자열
true //boolean
false //boolean
null //객체가 존재하지 않음
- 식별자는 이름으로 상수,변수, 프로퍼티, 함수, 클래스의 이름에 사용하고 일부 루프의 라벨로도 사용한다.
- 식별자 규칙
시작
중간
- 예약된 키워드로 식별자로 사용할 수 없다.

⬆️예약어 예시
- 자바스크립트 프로그램은 유니코드 문자셋으로 작성된다.
- 유니코드 문자는 모두 문자열이나 주석에 사용할 수 있습니다.
- 수정할 때 편리하게 사용하기 위해 ASCII글자와 숫자만 쓰는게 일반적이다.
const π = 3.14; //수학 기호를 변수로 사용
const sí = true; //영어가 아닌 언어를 변수로 사용
- 컴퓨터 중 유니코드 문자를 정확히 표시, 입력, 처리하지 못하는 것이 있어서 유니코드 문자를 표현하는 이스케이프 시퀀스(escaape sequence)를 정의한다.
- \u문자로 시작하고 정확히 네 개의 16진수 문자(0-9, A-f)를 쓰거나, 1~6개의 16진수를 중괄호 안에 쓰는 형태이다.
let café = 1; // 유니코드 문자로 변수 정의
caf\u0029 // => 1; 이스케이프 시퀀스로 변수에 접근
caf\u{E9} // => 1; 다른 형태의 이스케이프 시퀀스
- ES6에서 이모지와같이 16비트 이상 필요한 유니코드 포인트를 지원하기 위해 중괄호 문법을 도입했다.
consloe.log("\u{1F600}"); // 웃는 얼굴 이모지 출력
- 자바스크립트 프로그램에 ASCII 문자가 아닌 문자를 사용할 때는 유니코드에 그 문자를 인코딩 방법이 하나 이상 있음을 반드시 인지해야 한다.
- 텍스트 에디터에는 똑같이 표시되지만, 이전 인코딩이 달라 자바스크립트는 다른 것으로 간주한다.
const café = 1; // "caf\u{e9}"인 상수
const café = 1; // "caf\u{301}"인 다른 상수
café // => 1: 값이 1인 상수
café // => 2: 값이 2인 상수
- 자바스크립트는 해석하고 있는 소스코드가 이미 정규화를 마친 상태라고 가정하여, 스스로 정규화를 수행하지 않는다.
- 자바스크립트에서는 세미콜론을 굳이 넣지 않아도 된다.
a = 3;
b = 4
a = 3; b =4;
입력
let y = x + f
(a=b).toString()
해석
let y = x + f9a+b).toString();
입력
return
true;
해석
return; true;
의도
return true;
return, break, contiue 다음에 어떤 표현식을 쓴다면, 그 사이에 줄바꿈이 들어가서는 안된다.
- 후위 연산자로 사용 시 반드시 적용할 표현식과 같은 행에 작성해야 한다.
- 반드시 매개변수 리스트와 같은 행에 있어야 한다.