[러닝 자바스크립트] - 리터럴과 변수, 상수, 데이터 타입 - 1

이수빈·2022년 7월 20일
0

자바스크립트

목록 보기
1/7
post-thumbnail

러닝 자바스크립트 3장에 해당되는 부분이며, 읽으면서 자바스크립트에 대해 새롭게 알게된 것과 기록하고 싶은 부분을 정리한 내용입니다.

변수와 상수

변수

변수는 언제든 바뀔 수 있는 값이다.

let targetTempC, room1 = "conference_room_a", room2 = "lobby"; //let문 하나에서 여러 개 선언 가능

상수

상수는 값을 할당받을 수 있지만, 한 번 할당 받으면 바꿀 수 없는 값이다.

const ROOM_TEMP_C = 21.5, MAX_TEMP_C = 30; //이름에 대문자와 밑줄만 사용해서 찾기 쉽게 만듦

저자는 데이터의 값이 막 바뀌는 것보다는 고정된 값이 이해하기 쉽고, 값을 바꾸지 말아야 할 데이터를 실수로 바꾸는 일이 줄어들기 때문에 될 수 있으면 변수보다 상수를 사용하라고 권장한다.

식별자 이름

식별자는 변수와 상수, 함수의 이름이다.

식별자 규칙

  • 반드시 글자나 $, _로 시작해야 한다.
  • 글자와 숫자, $, _만 쓸 수 있다.
  • 유니코드 문자를 쓸 수 있다.
  • 예약어는 식별자로 쓸 수 없다.
  • 대문자로 시작하면 안 된다.

리터럴

리터럴은 식별자에 값을 할당하는 것이다.

let hi = "Hello"; //hi가 식별자, Hello가 리터럴

원시 타입과 객체

자바스크립트에서 값은 원시 값과 객체로 나뉜다. 문자열과 숫자 같은 원시 타입은 불변이며 원시 타입에는 여섯 가지가 있다.

  • 숫자
  • 문자열
  • 불리언
  • null
  • undefined
  • 심볼(Symbol)

불변은 변수의 값이 바뀔 수 없다는 뜻이 아니라 리터럴 자체가 변하지 않는다는 것을 의미한다.


객체는 원시 값과 달리 여러 가지 형태와 값을 가질 수 있다. 유연한 성질 때문에 커스텀 데이터 타입을 만들 때 많이 사용하며 자바스크립트에는 몇 가지 내장된 객체 타입이 있다.
  • Array
  • Date
  • RegExp
  • Map과 Set

문자열

이스케이프

문자열 안에 ' 또는 "를 넣고 싶을때 쓰는 방법이다. " " 안에 ' ' 혹은 ' ' 안에 " "를 넣는 것은 문제가 되지 않지만 같은 따옴표를 쓰면 에러가 난다.

const dialog1 = "He looked up and said \"don't to that!\" to Max.";
const dialog2 = 'He looked up and said "don\'t to that!" to Max.'

역슬래시를 따옴표 앞에 써서 이스케이프하면 문자열이 여기서 끝나지 않았다고 자바스크립트에게 알린다.
역슬래시를 이스케이프 하려면 역슬래시 앞에 역슬래시를 쓰면 된다.

템플릿 문자열

문자열 안에 값을 써야 할 때 문자열 병합을 통해 변수나 상수를 문자열 안에 쓸 수 있다.

let currentTemp = 19.5;
const message = "Temperature is " + currentTemp + "C";

es6 이전에는 +를 사용해 문자열 병합만으로 변수나 상수를 문자열 안에 쓸 수 있었지만, es6에서는 큰따옴표나 작은따옴표 대신 백틱(`)을 사용해 문자열 템플릿으로 변수나 상수를 문자열 안에 사용할 수 있다.

const message = `Temperature is ${currentTemp}C`; //문자열에 넣을 값을 $와 {}로 감싸준다

심볼

심볼은 다른 어떤 심볼과도 일치하지 않는 항상 유일한 데이터 타입이다. 다른 식별자와 혼동해서는 안 되는 고유한 식별자가 필요할 때 사용한다.

const RED = Symbol("color");
const ORANGE = Symbol("color");
RED === ORANGE //false
profile
내가 나중에 보려고

0개의 댓글