드림코팅 자바스크립트(2)_data types, let vs var, hoisting

choiuhana·2021년 5월 15일
0

TIL

목록 보기
4/37

let vs var 그리고 hoisting

hoisting: 어디에 선언했나 상관없이 맨위로 끌어올려주는 것.

var로 선언할시 어디에 선언했든 출력이 됨.
반면에 let으로 선언할시 먼저 선언을 하고 출력이 된다.

또한 var는 블럭을 무시하고 어디에서든 불러올 수 있다. 유연하지만 값이 잘못 할당될 수 있음.

let(Mutable) vs const(immutable)

let의 경우 한번 선언되고 수정될 수 있음.
const로 선언될 시 한번 선언된 후 변경할 수 없음.

data type

1. number

  • infinity = 1 / 0
  • negativeInfinity = -1 / 0
  • not a number = 'string' / number -> NaN
    *bigInt라는 변수가 추가되었음 숫자 마지막에 별(*) 기호를 붙이면 됨.

2. string

  • 한글자던 여러글자던 string

3. boolean

  • ture, false

4. null, undefined

  • null -> 명확하게 비어있는 값
  • undefined -> 선언은 되었지만 비어있는 것, 값이 할당 될지 안될지 모름

5. symbol

  • 동일한 string으로 작성해도 다른 심볼로 간주됨.
    const symbol1 = Symbol('id');
    const symbol2 = Symbol('id');
    symbol1 === symbol2 -> false
    true로 만들고 싶으면 for를 이용해서 선언
    const symbol1 = Symbol.for('id');
    const symbol2 = Symbol.for('id');
    symbol1 === symbol2 -> true
    symbol은 바로 출력하면 에러가 발생
    반드시 symbol.description으로 출력해야 함

6. object

  • const text = { a: 'text', b: number };
    text는 다른 object로 할당이 불가하지만 안에 있는 a, b는 다른 변수로 할당이 가능 함
profile
만드는 사람도 사용하는 사람도 편하고 만족하는 '것'을 추구하는 프론트엔드 개발자

0개의 댓글