Lumpy Space Princess - Adventure Time

JAVASCRIPT

자바스크립트의 자료형에 대해서 알아보자

jongyung 2023. 2. 20. 15:01

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90

자료형이란?

 

컴퓨터는 숫자와 문자의 구분을 자체적으로 할 수 없기 때문에 구분을 해서 입력해주어야 합니다.

 

숫자나 문자열처럼 프로그램에서 처리할 유형을 지정해야 하는데, 이 형태를 '자료형'이라고 합니다.

 

자료형은 '데이터 유형' 혹은 '데이터 타입' 이라고도 합니다.

 

자료형은 크게 '원시 유형(private type)'과 '객체(object)'로 나뉘어 집니다.

 

원시 유형은 하나의 값만 저장하는 자료형으로, 숫자형과 문자열, 논리형, undefined, null, symbol 유형이 있습니다.

원시 유형 외에는 모두 객체 입니다.

 

  • 숫자형

모든 프로그램의 가장 기본이 되는 자료형입니다. 


C나 자바 같은 프로그래밍 언어에서는 정수와 실수를 명확히 구별하고, 정수도 크기에 따라 다른 자료형을 사용합니다.

 

하지만 자바스크립트에서는 정수와 실수를 함께 묶어서 '숫자형'이라고 합니다. 

 

큰따옴표 없이 입력하면 숫자로 인식하지만, 큰따옴표로 묶으면 숫자라고 해도 문자열로 인식하기 때문에 주의해야 합니다.

 

 

  • 문자열

문자열 또는 string 자료형은 작은따옴표나 큰따옴표로 묶은 데이터를 의미합니다.

 

큰 따옴표이든 작은따옴표이든 문자열의 앞뒤에 붙이는 따옴표는 같아야 합니다.

 

큰따옴표로 묶은 문자열 안에 다른 문자열을 포함시켜야 할 때는, 

큰따옴표가 중복되지 않도록 안에 포함되는 문자열은 작은따옴표로 묶어 표현해야 합니다. 

 

따옴표만 있고 내용이 없는 경우에는 '빈 문자열'이라고 합니다.

 

 

  • 논리형

참(true)이나 거짓(false) 값을 표현하기 위한 데이터 유형입니다.

 

불리언(boolean) 유형이라고도 합니다.

 

사용할 수 있는 값은 true와 false이고, 논리형 값은 지정한 조건에 맞는 지의 여부를 확인하는 조건식에 많이 사용합니다.

 

 

  • undefined, null

undefined는 값이 할당되지 않았을 때 변수의 초깃값입니다. 

 

그러니까 undefined는 값이면서 동시에 자료형입니다. 

 

예시:

let userName
console.log(userName)      // undefined

 

다음의 소스처럼 변수를 선언만 하고 값을 할당하지 않으면 초깃값인 undefined가 나타납니다.

 

null도 값이면서 동시에 자료형입니다.

 

undefined와 비슷해 보이나 다릅니다.

 

null은 값이 없거나 유효하지 않은 값이라는 의미이기 때문입니다.

 

반면에, undefined는 빈 값인지 유효한 값인지 정할 수 없는 상태입니다.

 

 

  • 객체

객체(object)란, 여러 개의 원시 유형을 하나로 묶어 놓은 것입니다.

 

자바스크립트에서는 배열이나 함수도 객체로 취급합니다.

 

  • 객체의 정의

객체는 하나의 변수에 다양한 정보가 포함되어 있는 자료형입니다. 

 

객체는 중괄호({}) 안에 모든 정보를 담는데, 키(key)와 값(value)으로 하나 또는 여러 개의 쌍을 만들 수 있습니다.

 

객체 안에서는 여러 개의 '키:값' 쌍을 쉼표로 구분합니다.

 

  • 객체의 값에 접근하기

객체에 있는 여러 개의 프로퍼티 중 원하는 프로퍼티값을 가져오려면,

 

객체명.키 이름
객체명["키 이름"]

 

 의 형식을 사용합니다. 주로 마침표를 사용한 첫 번째 형식을 많이 사용합니다. 

 

 

  • 배열

하나의 변수에 여러 개의 값을 저장할 수 있는 유형이므로 객체입니다. 

 

배열은 대괄호([ ])로 묶고 그 안에 값을 나열하는데, 각 값은 쉼표로 구분합니다.

 

대괄호 안에 아무 값이 없으면 '빈 배열'이라고 하는데, 이것도 배열입니다. 

 

  • 심벌

심벌(symbol)은 지금까지의 자료형과 다른 특성을 가지고 있습니다.

 

가장 큰 특성은 유일성을 보장한다는 것입니다. 

 

객체 프로퍼티의 키로 사용할 수 있습니다. 

 

 

 

자료형의 관계