JAVASCRIPT

자료형(data type)은 원시 유형과 객체 유형으로 나뉜다

이미사용 2023. 2. 20. 15:15
명언
-
728x90
반응형

  자료형 (data type)  

프로그램이 처리할 자료의 형태를 말합니다 .

사람은 숫자나 문자를 보면 그것이 숫자인지 문자인지 바로 알수 있지만, 컴퓨터는 못 알아보기 때문에 그것이 숫자인지 문자인지

이렇게 숫자나 문자열 처럼 프로그램에서  처리할 자료의 유형을 지정해야 하는데 이러한 자료의 형태를 말합니다.

 

  자료형의 관계  

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

'원시 유형'은 하나의 값만 저장하는 자료형으로,  숫자와 문자열,  논리형,  undefined, null, symbol 유형이 있습니다.  그리고 원시 유형 외에는 모두 '객체' 입니다.

  숫자형(number)  

보통 C언어나 자바 같은 프로그래밍 언어는 정수와 실수를 구별하여 다른 자료형으로 사용 하지만 자바스크립트에서는 정수와 실수를 함께 묶어서 '숫자형'이라 합니다.

자바스크립트에서는 큰따옴표 없이 입력하면  숫자로 인식합니다. 큰따옴표로 묶으면 문자열로 인식합니다.

 

  문자열(string)  

큰 따옴표(")나 작은 따옴표(')로 묶은 데이터를 의미 합니다.

큰따옴표(")나 작은따옴표 (')는 문자열의 앞뒤에 붙이는 따옴표는 같아야 합니다.

따옴표만 있고 내용이 없어도 문자열인데 '빈 문자열'이라고 합니다.

 

  논리형(Boolean)  

참(true)이나 거짓(false)값을 표현하기 위한 데이터 유형으로 '불리언(boolean)유형'이라고도 합니다.

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

  undefined  

'undefined'는 값이 할당 되지 않았을 때 변수의 초깃값 입니다, 값이면서 동시에 자료형 입니다.

빈 값인지, 유효한 값인지 정할수 없는 상태일때 쓰입니다.

변수를 선언만 하고 값을 할당 하지 않은 상태에서 프로그램에 사용하면 'undefined'가 나타납니다.

 

  null  

'null'도 값이면서 동시에 자료형입니다. 'undefined'와 비슷해 보이지만 'null'은 값이 없거나 유효하지 않은 값입니다.

입력한 값이 없으면  'null'로 나타납니다, null은 사용자가 직접 할당할 수도 있습니다. 

다음과 같이 age변수에 일단 값이 할당 되지만, 그 값이 유효하지 않은 값이라는 의미 입니다.

 

  심벌(symbol)  

심벌은 유일성을 보장하는 원시 유형의 자료형 입니다.

객체의 프로퍼티 키로 사용할 수 있다는 특징이 있습니다. 예를 들어 자바스크립트 프로그램에서 오픈 소스를 가져와 사용하거나 다른 팀원이 만든 객체들을 함께 사용할 수 경우 객체의 키 이름이 중복될 수 있습니다. 이런 경우에 키 이름을 심벌로 지정하면 서로 충돌 하지 않습니다.  

Symbol()함수를 사용하며 한 번 만들면 변경할 수도 없고, 같은 값을 가진 심벌을 만들 수도 없습니다.

 

예를 들어 다음과 같이 2개의 심벌이 var1과 var2는 똑같아 보입니다. 하지만 심벌은 유일한 값이므로 var1과 var2는 같지 않습니다.

 

심벌을 키로 사용할 때는 [키]처럼 대괄호를 묶어서 표현합니다. 그리고 심벌키에 접근할 때도 마침표를 사용하지 않고 대괄호([])를 사용합니다.

 

만약 저 member 객체에 " member.id = 6789 " 로 프로퍼티를 다시 지정 하면

기존의 심벌id는 그대로 유지 되면서 새로운 id가 추가 되었습니다.


 객체 

객체는 여러 개의 원시 유형을 하나로 묶어 놓은 것이라고 생각할수 있다. 자바 스크립트는 배열이나 함수도 객체로 취급합니다.

객체는 하나의 변수에 다양한 정보가 표환된 자료형 입니다. 중괄호({}) 안에 모든 정보를 담는데 키(key)와 값(value)으로 하나 또는 여러 개의 쌍을 만들 수 있습니다. 그리고 객체 안에서는 여러 개의 '키: 값'을 쌍을 쉼표(,)로 구분 합니다.

이때 키는 문자열 이지만 큰따옴표를 사용하지 않는다.

gitbook객체를 다음과 같이 한줄로 표시할수 있다

gitBook = {title : "깃& 깃허브 입문", pubData : "2020-11-15" , pages : 272, finished : true } 

객체에 있는 프로퍼티 중 원하는값을 가져 오려면 다음과 같은 형식을 사용합니다.

 배열 

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

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