6 분 소요

이웅모 저자의 모던 javascript deep dive를 공부한 내용을 정리한 글입니다.

데이터 타입

원시 타입

  • 원시타입의 종류
    • number 타입 : 숫자, 정수와 실수 구분 없이 하나의 숫자 타입만 존재
    • string 타입 : 문자열
      • ’’, “”, `` 리터럴을 활용
      • `` : 템플릿 리터럴 -> my name is ${first} ${second}
    • boolean 타입 : 논리적 참, 거짓
    • undefined 타입 : var 키워드로 선언된 변수에 암묵적으로 할당되는 값
    • null 타입 : 값이 없다는 것을 의도적으로 명시
    • symbol 타입 : ES6에 추가된 7번째 타입

객체 타입

  • 원시타입 이외의 모든 변수

데이터 타입이 존재하는 이유

  • 값을 저장할 때 확보해야 하는 메모리 공간의 크기 결정
  • 값을 참조할 때 한 번에 읽어 들여야 할 메모리 공간의 크기를 결정
  • 메모리에서 읽어 들인 2진수를 어떻게 해석할지 결정

동적 타입 언어와 정적 타입 언어

  • javascript는 동적 타입 언어이다
  • 동적 타입 언어 : 변수가 실행 도중 타입이 변할 수 있는 언어
  • 타입 추론
    • ex) javascript, python, php, ruby…
  • 정적 타입 언어 : 컴파일 타임에 결정된 타입이 실행 도중 변할 수 없는 언어
  • 명시적 타입 선언
    • ex) c, c++, java, kotlin, go, rust…

동적 타입 언어 사용 시 유의 사항

  • 변수 최소화
  • 변수의 유효 범위 최소화(스코프)
  • 전역 변수 금물
  • 변수보다는 상수(const)
  • 변수 이름은 명확하게 네이밍

댓글남기기