자바스크립트 완벽 가이드 1장, 2장 요약

Books자바스크립트 완벽 가이드javascript

들어가며

본 게시글은 자바스크립트 완벽 가이드 (데이빗 플래너건) 1, 2장을 정리 & 요약하는 글입니다.


1장. 자바스크립트 소개

  • 자바스크립트는 웹의 프로그래밍 언어
  • 자바스크립트는 객체 지향, 함수형 프로그래밍 스타일에 적합한 고수준의 동적인 인터프리터 언어
  • 자바스크립트는 스크립트 언어라는 뿌리를 벗어나 전문적인 소프트웨어 공학, 거대한 프로젝트에 걸 맞는 빈틈없고 효율적인 범용 언어로 진화
  • 호스트: 원래 자바스크립트의 호스트 환경은 웹 브라우저
    • 2010년, 노드는 자바 스크립트가 웹 브라우저 API를 벗어나 운영 체제 전체에 접근해 파일을 읽고 쓰고, 네트워크를 통해 데이터를 송수신하고, HTTP 요청을 보내고 받을 수 있게함

2장. 어휘 구조

  • 프로그래밍 언어의 어휘 구조는 그 언어로 프로그램을 작성할 때 지켜야 할 기본적인 규칙의 집합
    • 대소문자구분,스페이스,줄바꿈
    • 주석
    • 리터럴
    • 식별자와 예약어
    • 유니코드
    • 선택 사항인 세미콜론

2.1 자바스크립트 프로그램의 텍스트

  • js는 키워드, 변수, 함수 이름, 기타 식별자(iden­ tifier)를 쓸 때 대소문자를 일관적으로 써야함
  • 자바스크립트는 토큰 사이의 공백을 무시함
  • 자바스크립트는 일반적인 스페이스 문자(\u0020) 외에 탭, ASCII 제어 문자, 다양 한 유니코드 스페이스 문자를 모두 공백으로 인식

2.2 주석

  • 자바스크립트는 두 가지 스타일의 주석을 지원함
    • //와 행 끝 사이의 텍스트는 모두 주석으로 취급하여 무시
    • /_와 _/ 사이에 있는 텍스트 역시 주석으로 취급

2.3 리터럴

  • 리터럴(literal)은 프로그램 안에 직접 쓴 데이터 값
12 // 숫자 12
1.2 // 숫자 1.2
;('hello world') // 문자열
;('Hi')
true // 불 값
false // 다른 불 값
null // 객체가 존재하지 않음

2.4 식별자와 예약어

  • 식별자는 이름이다. 자바스크립트에서 식별자는 상수, 변수, 프로퍼티, 함수, 클 래스의 이름에 사용하고 일부 루프의 라벨로도 사용
  • 자바스크립트의 식별 자는 반드시 글자(알파벳 사용을 권합니다), 밑줄(_), 달러 기호($)로 시작
i
my_variable_name
vl3
_dummy
$str

2.4.1 예약어

  • 다른 언어와 마찬가지로 자바스크립트도 특정 식별자를 언어 자체에서 사용하도록 예약함
as async await break case catch class
const continue debugger default delete do
else
export
extends
false
finally
for
from
f니nction new switch var

2.5 유니코드

  • 기본적으로, 자바스크립트 프로그램은 유니코드 문자셋으로 작성됨
  • 그러나 자바스크립트 자체는 식별자에 유니코드 글자, 숫자, 상형 문자를 모두 허용함(이모 지는 허용하지 않습니다).
    • 따라서 다음과 같이 수학 기호나 영어가 아닌 언어에서 쓰는 문자를 상수나 변수에 쓸 수 있습니다.
    const n = 3.14
    const si = true

2.6 선택 사항인 세미콜론

  • 다른 프로그래밍 언어와 마찬가지로 자바스크립트 역시 세미콜론(;)을 사용해 문 (5장 참고)을 구분

  • 자바스크립트에서 두 문 사이에 줄바꿈이 있을 때는 대부분 세미콜론을 생 략해도 됨

    • 자바스크립트는 줄바꿈 다음에 오는 공백 아닌 문자를 현재 문에 이어진다고 판단할 수 없을 때 줄바꿈을 세미콜론으로 취급
    let a
    a = 3
    console.log(a)
    
    // 자바스크립트는 위 코드를 다음과 같이 해석함
    let a
    a = 3
    console.log(a)

참고

  • 데이비드 플래너건, 『자바스크립트 완벽 가이드』, 도서출판인사이트(2022), p1-24.



Profile picture
@김하연
4년차 프론트엔드 개발자 입니다. 사용자 경험 개선, 코드의 재사용성, 읽기 쉬운 코드에 집중하여 개발합니다.
AboutGithub LinkedinResume
Loading script...