새소식

JavaScript

[모던자바스크립트] 6.데이터타입

  • -

자바스크립트는(ES6)는 7개의 데이터 타입을 제공한다.

 

원시타입

  1. Number
  2. String
  3. boolean
  4. undefined
  5. null
  6. Symbol

객체타입

객체, 함수, 배열 등

 

 

원시타입

1. Number 

 

배정밀도 64비트 부동소수점 형식을 따른다. 모든 수를 실수로 처리하며 정수만을 표현하기 위한 데이터 타입이 별도로 존재하지 않는다.

//숫자 타입
var integer = 10 //정수
var double = 10.12 //실수
var negative = -20 //음의 정수

정수로 표시되는 수끼리 나누더라도 실수가 나올 수 있다. 

//숫자 타입은 모두 실수로 처리된다.
console.log(1===1.0); //true
console.log(4 / 2); //2
console.log(3 / 2;) //1.5

숫자 타입은 추가적으로 세 가지 특별한 값도 표현 할 수 있다.

  • Infinity : 양의 무한대
  • -Infinity : 음의 무한대
  • NaN : 산술 연산 불가

 

2. String

문자열은 작은따옴표('), 큰따옴표(""), 백틱(``)으로 텍스트를 감싼다. 

string은 변경 불가능한 값(immutable value)

 

 

3. boolean

논리적 참, 거짓을 나타내는 값으로 true, false

 

4. undefined

자바스크립트 엔진이 변수를 초기화 할 때 사용하는 값, 변수에 값이 없다는 것을 명시하고 싶을 때는 null을 사용한다.

 

5. null

프로그래밍 언어에서 Nulld은 변수에 값이 없다는 것을 의도적으로 명시 할 때 사용한다.

 

6. Symbol

다른 값과 중복 되지 않는 유일무이한 값. ES6에서 추가됨

 

 

 

 

객체 타입

7. object 

자바스크립트를 이루고 있는 거의 모든 것이 객체이다.

 

 

데이터 타입의 필요성

 

몇 바이트의 메모리 공간을 사용해야 낭비와 손실 없이 값을 저장할 수 있는지 알아야한다.

 

=> 데이터 타입의 종류에 따라 정해진 크기의 메모리 공간을 확보해야한다.

 

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

 

 

동적 타이핑

변수를 선언할 때 타입을 선언하지 않고 어떤 데이터 값이라도 자유롭게 할당 할 수 있다.

자바스크립트의 변수는 선언이 아닌 할당에 의해 타입이 결정된다.

재할당에 의해 변수의 타입은 언제든지 동적으로 변할 수 있다. == 동적타이핑

변수는 타입을 갖지 않으며 값은 타입을 갖는다. 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.