자바스크립트 스터디 – Chapter 2 정리

기초적인 부분이긴 하지만 유니코드 값 비교 부분은 잘 살펴볼 필요가 있다. 꼭 자바스크립트가 아니더라도 각 언어에서 유니코드를 어떻게 처리하고 다루는지 알아두면 유용하다. 발생할 수 있는 수많은 케이스가 있는데 그 중 하나로 음악 스트리밍 서비스인 spotify가 사용자명으로 유니코드를 사용해 보안 문제가 발생했었던 사례를 들 수 있다.


Chapter 2 어휘 구조 Lexical Structure

어휘 구조는 프로그래밍 언어의 가장 기초적인 문법.

2.1 캐릭터 셋

ASCII와 Latin-1를 포함하고 있는 유니코드

2.1.1 대소문자 구분 – 구분한다

html은 구분 안하므로 유의

2.1.2 공백, 줄바꿈, 양식 문자

공백은 무시됨, 가독성을 위해 사용 (예외 2.5)

줄바꿈은 단일 행 실행 종료로도 처리됨 (세미콜론 없어도 된다는 말)

식별자 빼고 LTR, RTL MARK 등 양식 문자를 사용할 수 있음

2.1.3 유니코드 탈출 문자열

유니코드 미지원 환경을 위한 유니코드 사용

\u + 4자리 8진수 주소

"résumé" === "r\u00e9sum\u00e9" // => true

2.1.4 표준화 Normalization

유니코드는 같은 글자를 여러 방법으로 표기할 수 있음

é는 유니코드 문자 하나로 표기할 수도 있고 e + ́ 로도 표시할 수 있음

console.log("e\u0301", "\u00e9"); // => é é
console.log("e\u0301" === "\u00e9"); // => false

자바스크립트는 작성된 코드를 이미 표준화 된 것으로 보고 별도로 표준화 처리 안함

2.2 주석

/* 블럭주석 */
/*
* 블럭주석
*/
// 인라인 주석

2.3 문자열 Literals

문자열은 데이터 값을 의미

number, string(Chapter 3), boolean, 정규표현식(Chapter 10), null, array, object

2.4 식별자와 예약어

문자, _, $, 숫자

첫글자는 숫자 못씀

일반적으로 아스키 문자와 숫자

유니코드 식별자도 가능

2.4.1 예약어

예약어는 식별자로 쓸 수 없음 – 기본 함수, 타입 등등

예약어를 무심코 쓰더라도 예약어 썼다고 에러를 출력하므로 외울 필요는 없어 보임

(변수명을 undefined로 한다거나 -_ 혼난다)

2.5 선택적 세미콜론

다른 언어처럼 각각 명령문 끝에 ; 넣음

세미콜론 대신 줄바꿈으로 생략도 되는데 말이 안되는 줄바꿈은 알아서 인식함

작성 의도와 다르게 실행되는 예시 – 코드의 명확성을 위해 세미콜론 꼭 쓰자

김용균

안녕하세요, 김용균입니다. 문제를 해결하기 위해 작고 단단한 코드를 작성하는 일을 합니다. 웹의 자유로운 접근성을 좋아합니다. 프로그래밍 언어, 소프트웨어 아키텍처, 커뮤니티에 관심이 많습니다.

이 글 공유하기

이 글이 유익했다면 주변에도 알려주세요!

페이스북으로 공유하기트위터로 공유하기링크드인으로 공유하기Email 보내기

주제별 목록

같은 주제의 다른 글을 읽어보고 싶다면 아래 링크를 확인하세요.

March 26, 2014

안정적이고 편리한 웹기반 네임서버 관리 DNSever

오랜 시간 무료로 좋은 서비스를 제공해오던 DNSever의 유료화 소식 을 접하게 되었다. 이전에 회사 다니며 직접 네임서버를 구축해서 운영해본 경험으로는 정말 자잘하게 손도 많이 가고, 알아야 할 것도 많고 번거로운 부분이 한둘이 아니다. 특히 …

March 22, 2014

자바스크립트 스터디 – Chapter 1 정리

놀부님이 진행하는 자바스크립트 스터디 http://on.fb.me/1iEpW0a 에 참여하게 되었다. 커리큘럼에서 제시된 교재를 선택하고 순서대로 공부해나가면 된다. 상당히 세세하고 실질적이라서 전혀 모르는 사람도 공부하기에 좋은 커리큘럼이다. …