해나아부지 개발일지

[책] 러닝 자바스크립트(1) - 변수와 상수, 리터럴 본문

Developers/JavaScript

[책] 러닝 자바스크립트(1) - 변수와 상수, 리터럴

__APPA 2020. 12. 8. 21:50

프로그램을 배울 때 용어의 중요성을 과소평가 하는 사람이 많습니다. 개념을 잘 이해하는 것도 중요하지만, 용어에 관심을 가지면 배운 언어에 관한 지식을 다른 언어에도 적용할 수 있고 더 많은 소스에서 배울 수 있습니다.

변수와 상수, 리터럴 - 자바스크립트가 데이터를 보관하는 메커니즘

변수와 상수

변수

let currentTempC = 22;

이 문은 변수 currentTempC를 선언(생성)하고 초기값을 할당하는 일을 한다.

Note ES6 이전에는 var 키워드만 사용할 수 있었다.

currentTempC = 30;

let은 변수 선언에만 쓰이고 각 변수는 한 번만 선언할 수 있습니다. 하지만 변수의 값은 얼마든지 변경할 수 있다.

let targetTempC; 
// let targetTempC = undefined;

변수를 선언할 때 항상 초기값이 있어야 하는 것은 아닙니다. 초기값을 설정하지 않으면 undefined가 할당된다.

let targetTempC, room1 = "conference_room", room2 = "lobby";

let문 하나에서 변수 여러개를 선언하는 것도 가능하다.


상수

const ROOM_TEMP_C = 21.5, MAX_TEMP_C = 30;

상수 const는 ES6에서 새로 생겼다. 상수도 변수와 마찬가지로 값을 할당받을 수 있지만, 한 번 할당한 값을 바꿀수는 없다. 절대규칙은 아니지만 상수 이름에는 보통 대문자와 밑줄만 사용한다. 이런 규칙을 따르면 코드에서 상수를 찾기 쉽고, 상수의 값을 바꾸려고하지 않아도 된다.

될 수 있으면 변수보다는 상수를 쓰는 것이 좋다. 상수를 사용하면 실수로 값이 바껴서 에러가 발생하는 일이 줄어든다. 당연히 변수를 사용해야 하는 경우도 있겠지만 될 수 있으면 상수를 먼저 사용하고 값이 바뀌는 게 자연스럽다고 생각된다면 그 때 변수로 바꾸면 될 것이다!


식별자와 리터럴

식별자는 변수, 상수, 함수의 이름을 식별자라 부른다.

  • 식별자는 반드시 글자나 달러($), 밑줄(_)로 시작해야 한다.
  • 유니코드 문자도 쓸 수 있다.
  • 예약어는 식별자로 쓸 수 없다.(let, const와 같이 언어 자체에서 사용하는 단어)

리터럴이라는 단어는 값을 프로그램 안에서 직접 지정한다는 의미이다.

let room1 = "conference_room";
// room1 : 식별자, "conference_room" : 문자열 리터럴

let currentRoom = room1;
// currentRoom은 room1의 값("conference_room")을 가지게 된다.

currentRoom = conference_room
// conference_room이란 식별자는 없기 때문에 에러발생
Comments