-
어휘 구조Javascript 2019. 12. 20. 12:42
unicode
자바스크립트는 unicode 문자 집합을 사용해 작성한다.
대소문자 구분
키워드, 변수, 함수 이름 등은 모두 항상 대소문자를 구분해 입력해야 한다. 그러나 HTML은 대소문자를 구별하지 않는다.
공백, 줄바꿈, 제어 문자
코드 내의 토큰(더 이상 나눌 수 없는 최소한의 단위)들 사이에 있는 공백들을 무시한다.
이처럼 프로그램 코드에 공백과 줄바꿈을 마음껏 사용할 수 있는 덕에, 가독성 좋운 코드를 짤 수 있다.
유니코드 이스케이프 시퀀스
일부 하드웨어와 소프트웨어로 특정 유니코드 글자들의 집합을 입력으로 받거나 화면에 출력할 수 없다. 이러한 문제를 해결하기 위해 유니코드 이스케이프 시퀀스인/u로 시작한다. 그 뒤에 16진수 숫자 4개가 온다.
예를 들어, "é"는 "/u00e9" 로 표현할 수 있다.
주석
C언어와 같이 // , /**/을 이용해 주석 처리할 수 있다.
식별자
간단히 말해 이름이다. 시작은 알파벳, 밑줄 혹은 달러 표시여야한다.
예약어
break
delete
function
return
typeof
case
do
if
switch
var
catch
else
in
this
void
continue
finally
new
true
with
debugger
false
instanceof
null
try
위와 같은 키워드들은 식별자로 사용할 수 없는데, 이를 예약어라고 한다. 이 외에도 몇 가지 더 존재한다.
선택적 세미콜론
자바스크립트에서는 여러 문장이 서로 다른 줄에 나타나는 경우 세미콜론을 생략할 수 있다. 또한 프로그램의 끝이나 다음 토큰이 "}"일 경우에도 생략할 수 있다. 다시 말해 다음 줄에 나오는 공백 아닌 첫 문자를 현재 문장과 이어서 해석할 수 없을 경우에만 줄바꿈을 세미콜론으로 취급한다는 말이다.
그러나, 이런 방식으로 코드를 짤 경우에 십중팔구 코드의 저자가 의도한 해석이 가능성이 있다. 일부 프로그래머들은 문장의 시작 부분에 방어적인 세미콜론을 넣기도 한다.
12var x = 0;[x,x+1,x+2].forEach(console.log)return, break, continue문을 사용했을 경우 줄바꿈이 바로 다음에 올 경우, 줄바꿈을 세미콜론으로 해석한다.
그래서 return, break, continue문 다음에 오는 키워드 사이에 줄바꿈을 하지 말아야 한다.
12returntrue;위 코드는 아마 return true;를 하고싶었겠지만 return; true;가 된다.
++, -- 연산자가 포함된 경우도 줄바꿈을 하지 말아야 한다.
123x++y코드의 저자는 x++를 하고싶었을 수 있었지만.. 위 코드는 ++y로 해석된다.
출처
Javascript the definitive guide 6/E - David Flanagan