[JS Deep Dive] 6장 요약





06. 데이터 타입

  • 숫자 타입 : 모든 수를 실수로 처리
  • 문자열 타입 :
  • 템플릿 리터럴 : 멀티라인 문자열 (개행허용) /표현식 삽입 (${} )/ 태그드 템플릿
  • 불리언 타입 : true / false
  • undefined 타입 : 선언과 동시에 undefined로 초기화
  • null 타입 : 대소문자구별함으로 null 만 인정됨. 변수가 이전에 참조하던 값을 더 이상 참조하지 않겠다는 의미
  • 심벌타입 : 변경 불가능한 원시 타입의 값. 다른 값과 중복되지 않는 유일무이한 값. Symbol함수를 호출해 생성
  • 객체타입 : 위의 6가지 타입을 제외한 모든 이외의 값은 객체 타입




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


정적타입언어(명시적 타입) ex. 자바, C

  • 변수를 선언할 때 데이터 타입을 사전에 선언해야한다.
  • 변수의 타입을 변경할 수 없다.
  • 변수에 선언한 타입에 맞는 값만 할당할 수 있다
  • 타입의 일관성을 강제함으로써 더욱 안정적인 코드의 구현을 통해 런타임에 발생하는 에러를 줄인다



동적타입언어(동적 타입) ex. 자바스크립트, 파이썬

  • 값을 할당하는 시점에 변수의 타입이 동적으로 결정
  • 변수의 타입을 언제든지 자유롭게 변경할 수 있다
  • 할당에 의해 타입이 결정된다(타입 추론)
  • 재할당에 의해 변수의 타입은 언제든지 동적으로 변할 수 있다



동적타입언어는 유연성은 높지만 오류발생률이 높으므로 신뢰성은 떨어진다.

그러므로 변수를 사용할 때 주의해야하는 사항이 몇가지 있다.

  • 변수의 무분멸한 남발은 금물, 필요한만큼 최소한으로 유지해야한다.
  • 변수의 유효범위(스코프)는 최대한 좁게 만들어
  • 전역변수는 최대한 사용하지 않도록 한다
  • 변수보다는 상수를 사용하도록 한다
  • 변수이름은 변수의 목적이나 의미를 파악할 수 있도록 네이밍한다












© 2018. by sora

Powered by sora