var, let, const의 차이, 데이터 타입

유동헌·2021년 3월 10일

var, let, const의 차이

자바스크립트가 제공하는 변수 선언 방법에 대해 알아보자.

먼저 변수 선언 방법에는 2가지가 있는데,

  1. 암시적 선언
  2. 명시적 선언

이렇게 나뉜다.

우선 암시적 선언이란, 변수 = 데이터; 와 같이 따로 변수를 사용하지 않고 선언하는 것을 말한다.

암시적 선언의 예
 num = 3;
 console.log(num);

이와는 다르게 var, let, const등을 사용해 변수를 선언하는 것을 명시적 선언이라고 한다.

이제 var, let, const의 각각의 특징을 알아보자.

var
var num = 10;
console.log(num);

var num = 20;
console.log(num);

// 결과값
10
20
let
let num = 10;
console.log(num);

let num = 20;
console.log(num);

// Uncaught SyntaxError: Identifier 'num' has already been declared

이 두 가지의 가장 큰 차이점은 변수의 중복 선언에 대한 허용 여부이다.

이렇듯 var보다는 let이 조금 더 안정적으로 변수를 저장할 수 있다.

const
const num = 10;
console.log(num);

const num = 20;
console.log(num);

// Uncaught SyntaxError: Identifier 'num' has already been declared

const는 어떤 점이 다른가?

마찬가지로 한 변수에 동시에 여러 개의 값이 저장이 안되도록 에러가 출력이 되는 것을 확인 할 수 있다.

const는 한 가지 특징을 더 가지고 있는데,

let 데이터 변경 가능
let num = 10;
console.log(num);

num = 20;
console.log(num);

//결과값
10
20	
const 데이터 변경 불가능
const num = 10;
console.log(num);

const num = 20;
console.log(num);

// Uncaught SyntaxError: Identifier 'num' has already been declared

이런 식으로 단순히 값을 저장 할 수 있는 능력?이 조금씩 다른 것을 확인하였다. 정리를 하자면, var let 등을 이용하여 선언되어 진 데이터를 변수라고 하고, const를 통해 선언이 되어지면 상수라고 부른다.

javascript 데이터 타입

javascript의 데이터 타입에 대해 알아보자.

검색했을 때, 기본적으로 총 7개 정도의 데이터 타입이 검색이 된다. (더... 있는 건가?)

  • Boolean : True or False /

    • false : 0, null, undefined, NaN, ' '
    • true : 나머지
  • Null

    • 아무 의미도 없는 값을 지정해 주는 것
  • undefined

    • 값이 들어가 있는지, 없는지 아직 모르는 상태
  • Number

    • c언어나 java만 하더라도 숫자를 나타낼 때 사용되는 데이터 타입의 종류가 굉장히 많다고 한다. 하지만 javascript는 그렇게 분류가 되어 있지 않고 변수에 바로 바로 저장 할 수 있다.

    • - const infinity = 1 / 0;
      - const negativeInfinity = -1 / 0
      - const nAn = 'not a number' / 0
  • String

    • const char = 'c';
      const brendan = 'brendan';
      const greeting = 'hello' + 'world';
      console.log(`value : ${greeting}, type : ${typeof greeting}`);
  • Symbol

    • 식별자
    • 무슨 설명인지 잘 모르겠음ㅜ
  • Object

    • 이건 뭐지?
profile
지뢰찾기 개발자

0개의 댓글