데이터 타입

fe_sw·2022년 8월 10일
0

Javascript

목록 보기
15/22
post-thumbnail

데이터타입(data type)이란 프로그램에서 다룰 수 있는 값의 종류를 의미한다.

자바스크립트에서는 여러 가지 형태의 타입을 미리 정의하여 제공하고 있으며, 이것을 기본 타입이라고 한다.
자바스크립트의 기본 타입은 크게 원시 타입과 참조 타입으로 구분할 수 있다.

TypeJSDescription
원시 타입number정수와 실수 구분 없이 하나의 숫자 타입만 존재
원시 타입string문자열
원시 타입boolean논리적 참(true)과 거짓(false)
원시 타입undefined아무 값도 할당받지 않은 상태 ,변수 선언시 초기화 되는값
원시 타입null타입값이 없다는 것을 의도적으로 명시할 때 사용하는 값
원시 타입symbol변경 불가능하고 중복되지않는 원시 타입의 값
참조 타입객체, 함수, 배열


데이터 타입 필요한 이유

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

정적 타이핑

C나 자바 같은 정적 타입언어는 변수를 선언할 때 데이터 타입을 사전에 선언해야 한다.
이를 명시적 타입 선언이라 한다.

정적 타입 언어는 변수의 타입을 변경할 수 없으며, 변수에 선언한 타입에 맞는 값만 할당할 수 있다. 정적 타입 언어는 컴파일 시점에서 타입 체크를 수행한다.

만약 타입 체크를 통과하지 못했다면 에러를 발생시키고 프로그램의 실행 자체를 막는다.

동적 타이핑

자바스크립트는 정적 타입 언어와 다르게 변수를 선언할 때 타입을 선언하지 않는다. 다만 var, let, const 키워들 사용해 변수를 선언할 뿐이다.

자바스크립트의 변수는 선언이 아닌 할당에 의해 타입이 결정 (타입 추론) 된다. 그리고 재할당에 의해 변수의 타입은 언제든지 동적으로 변할 수 있다.
이러한 특징을 동적 타이핑이라고 하며, 자바스크립트를 동적 타입 언어라고 한다.

명시적 타입 변환

자바스크립트의 모든 값은 타입이 있다. 값의 타입은 개발자의 의도에 따라 다른 타입으로 변환할 수 있다.
개발자가 의도적으로 값의 타입을 변환하는 것을 명시적 타입 변환 또는 타입 캐스팅이라 한다.

암묵적 타입 변환

개발자의 의도와는 상관없이 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되기도 한다. 이를 암묵적 타입 변환 또는 강제 타입 변환이라 한다.

0개의 댓글