dev_eun
[JS] 데이터 타입, let/var, hoisting 본문
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
'Web > vanilla js' 카테고리의 다른 글
[JS] 함수 (0) | 2021.06.28 |
---|---|
[JS] HTML에서 javascript 파일 옵션 + use strict (0) | 2021.06.28 |
[JS] javascript map, filter, find 함수 (0) | 2021.04.29 |
[JS] c++ 에서 javascript로 갈아타기 - 기본 코테 함수 (0) | 2021.04.29 |