자료형이란,
- 프로그램에서 처리할 자료의 형태를 말합니다. 3이라는 숫자를 숫자로 처리하는지, 문자열로 처리하는지에 따라 결괏값이 달라집니다.
- 자바스크립트의 자료형은 크게 '원시 유형'과 '객체'로 나뉘어집니다. 원시 유형은 하나의 값만 저장하는 자료형으로, 숫자와 문자열, 논리형, undefined, null, symbol 유형이 있습니다. 그리고 원시 유형 외에는 모두 객체입니다.
사진 출처: 저자 고경희 |Do it! 모던 자바스크립트 프로그래밍의 정석
숫자형(number)
- 모든 프로그램에서 가장 기본이 되는 자료형입니다.
- C나 자바 같은 프로그래밍 언어에서는 정수와 실수를 명확히 구별하고 정수도 크기에 따라 다른 자료형을 사용합니다.
- 하지만 자바스크립트에서는 정수와 실수를 함께 묶어서 '숫자형'이라고 합니다.
- 큰따옴표("") 없이 입력하면 숫자로 인식합니다.
- 하지만 숫자라고 해도 큰따옴표로 묶으면 문자열로 인식하므로 주의해야 합니다.
typeof(10) // 'number' 숫자
typeof("10") // 'string' 문자
typeof(3.145) // 'number' 숫자
문자열(string)
- 작은따옴표(' ')나 큰따옴표("")로 묶은 데이터를 의미합니다.
- 작은따옴표이든, 큰따옴표이든 문자열의 앞뒤에 붙이는 따옴표는 같아야합니다.
typeof("안녕하세요") // O
typeof('안녕하세요') // O
typeof("안녕하세요') // X 위줄에서 문자표가 닫히지 않았기 때문에
typeof('안녕하세요") // X 아랫줄의 큰따옴표에서 닫히는 모습이다. (초록색이 모두 문자열로 인식된 상황)
- 만약 문자열 안에 다른 문자열을 포함시켜야 할 때는 따옴표가 중복되지 않도록 안에 포함되는 문자열은 겉에 쓴 것과 다른 따옴표로 묶어 표현해야 합니다.
- 따옴표만 있고 내용이 없어도 문자열인데, 이러한 문자열을 '빈 문자열'이라고 합니다.
논리형(Boolean)
- 참이나 거짓값을 표현하기 위한 데이터 유형으로, '불리언 유형'이라고도 합니다.
- 논리형에서 사용할 수 있는 값은 true와 false이고 값은 지정한 조건에 맞는지의 여부를 확인하는 조건식에서 많이 사용합니다.
- 콘솔 창에 다음과 같이 입력하면 10이 2보다 크므로 true값이 나타납니다.
10>2 // true
undefined,null
- undefined는 값이 할당되지 않았을 때 변수의 초깃값입니다.
- undefined는 값이면서 동시에 자료형입니다.
- 예를 들어 다음의 소스처럼 변수를 선언만 하고 값을 할당하지 않은 상태에서 프로그램에 사용하면 초깃값을 undefined가 나타납니다.
let userName
console.log(userName) // undefined
- null도 값이면서 동시에 자료형입니다.
- 언뜻보면 undefined와 비슷해 보이지만 구별해서 생각해야 하는 개념입니다.
- null은 값이 없거나 유효하지 않은 값이라는 의미입니다.
- 반면 undefined는 빈 값인지, 유효한 값인지 정할 수 없는 상태입니다.
- 정리하자면 undefined는 변수를 만들기만 하고 값을 할당하지 않았을 때 자바스크립트에서 자동으로 부여하는 초깃값이며, null은 변수 에 값이 없거나 유효하지 않다는 의미로, 자바스크립트에서 반환하거나 사용자가 할당할 수 있는 값입니다.
심벌(symbol)
- 에크마스크립트 2015에 새롭게 추가된 원시 유형의 자료형으로, 다른 자료형과 다른 특성을 가지고 있습니다.
- 가장 큰 특징은 유일성을 보장한다는 것입니다. 특히 객체 프로퍼티의 키로 사용할 수 있다는 특징이 있습니다.
- 예를 들어 다른 팀원이 만든 객체들을 함께 사용할 경우 객체의 키 이름이 중복될 수 있습니다. 이런 경우에 키 이름을 심벌로 지정하면 서로 충돌하지 않습니다.
- 아직 심벌은 많이 사용되지는 않지만, 이런 자료형이 있다는 것을 알아 두는 것이 좋습니다.
객체(object)
- 하나의 변수에 다양한 정보가 포함되어 있는 자료형입니다.
- 중괄호({})안에 모든 정보를 담는데 키와 값으로 하나 또는 여러 개의 쌍을 만들 수 있습니다.
- 그리고 객체 안에서는 여러 개의 '키:값' 쌍을 쉼표(,)로 구분합니다.
객체명 = {
키1:값1,
키2:값2,
키3:값3,
};
배열
- 하나의 변수에 여러 개의 값을 저장할 수 있는 유형이므로 객체입니다.
- 배열은 대괄호([]) 로 묶고 그 안에 값을 나열하는데, 각 값은 쉼표(,)로 구분합니다.
- 대괄호 안에 아무 값이 없으면 '빈 배열'이라고 하는데, 이것도 배열입니다.
오늘은 Javascript의 기초 부분인 자료형의 종류에 대해 알아보았습니다.
기초가 튼튼해야 나중에 헷갈리지 않고 잘 할 수 있습니다!!
다 같이 화이팅입니다!!