[딥다이브] 4장 변수, 5장 표현식과 문

주니·2023년 4월 8일
0

딥다이브

목록 보기
2/20

변수는 프로그래밍 언어에서 데이터를 관리하기 위한 핵심 개념이다. 이번 장을 학습하며,

  1. 변수의 개념에 대해서 이해하고,
  2. 호이스팅의 개념과 발생 이유를 살펴보며,
  3. 문과 토큰 세미콜론에 대해서 알아보고자 한다.

1. 변수

  • 변수(variable)은 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름을 말한다.
  • 값의 위치를 가리키는 상징적인 이름이며 그 메모리 주소를 기억한다.
  • 메모리 주소를 통해 직접 접근하는 것은 치명적 오류를 발생시킬 수 있다. 따라서 JS에서는 개발자의 직접적인 메모리 제어를 허용하지 않는다.
  • 변수에 값을 저장하는 것을 할당(대입, 저장)이라 하고, 변수에 저장된 값을 읽어 들이는 것을 참조라 한다.

2. 호이스팅의 개념과 발생 이유

  • 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징을 호이스팅이라 한다.
  • 변수 선언이 소스코드가 한 줄씩 순차적으로 실행되는 시점, 즉 런타임이 아니라 그 이전단계에서 먼저 실행되기 때문이다.
  • 변수 선언은 소스코드가 순차적으로 실행되는 시점인 런타임 이전에 먼저 실행되지만 값의 할당은 소스코드가 순차적으로 실행되는 시점인 런타임에 실행된다.

3. 문, 토큰, 세미콜론

  • 문(statement)은 프로그램을 구성하는 기본 단위이자 최소 실행 단위다
  • 토큰(token)이란 문법적인 의미를 가지며, 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소를 의미한다.
  • 문장 끝에 붙이는 세미콜론은 옵션이다. 즉 생략 가능하다. 이는 자바스크립트 엔진이 세미콜론 자동 삽입 기능(ASI: Automatic semicolon insertion)을 암묵적으로 수행하기 때문이다.

개념을 이해한다는 것은 바로 용어를 정확히 이해하고 설명할 수 있다는 것이다.

앞으로 <모던자바스크립트 Deep Dive>를 학습하며, 이전에 들어봤던 혹은 새로운 개념들을 계속 접하게 될 것입니다. 다양한 개념들을 숙지하고 이를 직접 프로그래밍에 활용하는 것이 물론 중요하나, 1독을 진행하며 완벽하게 이해하고 습득하려는 욕심을 조금 내려놓고자 합니다(물론 완벽이라는게 불가능하겠지만...) 대신 지금과 같이 내용을 정리하고 기록으로 남겨 계속해서 리마인드 해 나갈 수 있는 것을 목표로 하겠습니다!

0개의 댓글