티스토리 뷰

TIL/Javascript

[JS003-004] 변수의 타입

버터호두 2021. 6. 22. 00:32

ECMAScript2015 = ES6, 세상에 공표된지 4년이 흘렀다.

기존에 가지고 있던 문제점이 상당 부분 해결되었지만, ES6 및 이후의 체계하에서도 JS의 핵심 개념과 그 깊이가 중요하다. 예를 들면, 기존의 데이터 타입, 실행 컨텍스트와 스코프, 호이스팅, 콜백 함수, this의 개념, 클로저, 프로토타입 등.

때문에, '코어자바스크립트'는 ES5든 ES6든 과거에도 현재에도 여전히 중요한 JS를 관통하는 코어 개념에 대해 설명한다.

 

자료형 (데이터 타입)

자바스크립트는 동적언어dynamic language이다.

정적 언어와 달리 변수를 정의할 때 자료형을 정의할 필요가 없다.

그런데, 자료형을 정의할 필요가 없는게 편리해보일 수도 있지만, 대규모 프로젝트에서는 문제의 원인이 될 수 있다.
(이후에 포스팅에서 TIL을 올려보겠다!)

자바스크립트가 데이터를 처리하는 과정

다음 두 타입이 있고, 서로 다르게 동작한다.

기본형 vs. 참조형


=> 그래서 typescript가 나왔다.
=> typescript? JS를 엄격한 자료형을 준수하는 강타입 언어strongly-typed language로 탈바꿈시키는 언어

원시 자료형 primitive

string: 문자열

number: 숫자 (정수, 소수를 가리키진 않는다)

boolean: 불리언

null: 널, "값이 없음'

undefined: 정의되지 않음

symbol: 심벌 (ES6)

객체

원시 자료형 6개는 하나의 값을 담을 수 있다.
반면, 객체는 여러 속성의 모음을 저장하는 데 사용할 수 있다.

  • {키 : 값} 의 형태로 저장된다.
  • 키 : string
  • 값 : 모든 자료형 가능

'배열'의 자료형은 무엇일까?

배열은 순서대로 값을 저장하는 '객체'이다.
객체에서 값에 접근하려면 key를 사용하는 것과 비슷하게, 0부터 시작하는 index로, 즉, array[index]로 접근한다.
typeof를 통해 자료형을 확인할 수 있다.

let nums = [2, 3];
console.log(typeof nums);
// object
console.log(typeof(nums));
// object

! typeof를 쓸 때는 typeof(nums)보다도 typeof nums를 사용하는게 권장된다.


참고자료
모던 자바스크립트 핵심 가이드, 알베르토 몬탈레시

'TIL > Javascript' 카테고리의 다른 글

this  (0) 2021.07.13
[JS007] 변수명  (2) 2021.06.25
[JS006] Falsy, falsey 가 아닌 것은 Truthy  (0) 2021.06.25
[JS005] for문 계산  (0) 2021.06.25
[JS001 - 002] 배열의 삭제 + 추가, 교체  (0) 2021.06.21
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함