dev_eun

[JS] 데이터 타입, let/var, hoisting 본문

Web/vanilla js

[JS] 데이터 타입, let/var, hoisting

_eun 2021. 6. 28. 02:56

var

block안에 변수를 선언해도 어느곳에서나 사용할 수 있게 된다.

이제는 사용하지 말 것! let을 사용하자!

hoisting

var 예약어를 이용하여 변수를 선언할 경우 발생한다.

어디에 선언했는지에 상관없이 항상 제일 위로 선언을 끌어올려준다.

let

mutable 변수를 선언할 때 사용한다.

const

immutable 데이터 타입을 선언할 때 사용한다.

장점

1. security

2. thread safety : 스레드가 변수에 동시에 접근해서 변경하는 것을 방지

3. reduce human mistakes

Variable types

타입이 다이나믹하게 결정된다.

number

Infinity : 무한대

-Infinity : -무한대

NaN : not a number

BigInt

123n

string

boolean

false : 0, null, undefined, NaN, ''

true : any other value

null

비어 있는 변수

undefined

선언은 되었지만 값이 지정되어 있지 않은 경우

symbol

고유한 식별자를 생성할 때 사용

const symbol1 = Symbol('id');
const symbol2 = Symbol('id');
symbol1 === symbol2;	// false

const gSymbol1 = Symbol.for('id');
const gSymbol2 = Symbol.for('id');
gSymbol1 === gSymbol2;	// true

console.log(gSymbol.description);	// id

Dynamic typing

동적으로 변수의 타입이 변경될 수 있다. 오류, 버그가 발생할 확률이 높다. 

728x90