데이터 타입
- 값의 종류를 의미
- 기본 타입과 객체 타입으로 구분
기본 타입 (Primitive Type)
- 자바스크립트에서 객체가 아닌 것들
- 그 자체로 변수에 저장된 것들
종류
- 숫자 (number)
- 문자열 (string)
- 불리언 (boolean)
- null
- undefined
- 심볼 (symbol)
객체 타입 (Object Type)
- 자바스크립트에서 기본 타입을 제외한 모든 타입을 의미
자바스크립트 안에 내장된 객체 타입
- Array
- Date
- Object
- Math
- 이외에 기본 타입을 제외한 모든 것들
객체 특징
- 자바스크립트의 객체는 { 이름(key): 값(value) }의 형태로 프로퍼티를 저장하는 컨테이너
- 여러 개의 프로퍼티들을 포함할 수 있음
- 기본 타입, 또 다른 객체, 함수를 가질 수 있음
- 객체의 프로퍼티가 함수를 가질 때 이를 메서드라고 부름
- 참조 타입이라고도 함
const person = {
name: '홍길동',
age: 25,
isProgramer: true,
say() {
console.log('Hello');
},
};
숫자
- 자바스크립트에서 숫자를 표현할 때 number 타입 사용
let number1 = 23;
const number2 = 2.3;
---> 자바에서는 byte, short, int 등등 데이터 크기에 따라서 다르게 써야 하는데 자바스크립트에서는 그런 게 없음
숫자의 특별한 값
- Infinity : 양수를 0으로 나누는 경우
- -Infinity : 음수를 0으로 나누는 경우
- NaN : 숫자가 아닌 값을 나누는 경우
console.log(5 / 0); // Infinity 값 할당
console.log(-5 / 0); // -Infinity 값 할당
console.log('hello' / 5); // NaN 값 할당
문자열
- 텍스트 데이터를 의미
- 작은따옴표(') or 큰따옴표(") or 백틱(`) 사용
const name1 = '홍길동'; // 싱글 쿼터 사용
const name2 = '홍길동'; // 더블 쿼터 사용
const name3 = `홍길동`; // 백틱 사용
템플릿 문자열
- ES6 이전에는 + 기호를 이용하여 값과 문자열 연결
- ES6에서는 백틱(')을 이용하여 값과 문자열 연결
값을 문자열 안에 사용할 때
const name = '홍길동';
const age = 23;
console.log(
'안녕하세요 제 이름은 ' + name + '입니다. ' + '나이는 ' + age + '살입니다.'
);
// ---> 안녕하세요 제 이름은 홍길동입니다. 나이는 23살입니다.
console.log(`안녕하세요 제 이름은 ${name}입니다. 나이는 ${age}살입니다.`);
// ---> 안녕하세요 제 이름은 홍길동입니다. 나이는 23살입니다.
이스케이프 표현
코드 | 설명 | 예제 | 실행 결과 |
\n | 줄바꿈 | "Line1\nLine2" | Line1 Line2 |
\r | 캐리지 리턴 | "Windows line 1\r\nWindows line 2" | Windows line 1 Windows line 2 |
\\ | 백스페이스 | `New in Es:\ strings.` | New in Es: strings. |
\'' | 큰따옴표 | 'Sam said "hello"' | Sam said "hello" |
\' | 작음따옴표 | "Don't" | Don't |
\t | 탭 | "Spped:\t60kph" | Spped: 60kph |
불리언 (boolean)
- true, false 두 개의 값을 가지는 데이터 타입
const isProgramer = true;
const isDesign = false;
console.log('isProgramer: ', typeof isProgramer); // ---> isProgramer: boolean
console.log('isDesign: ', isDesign); // ---> isDesign: false
null, undefined
- 자바스크립트의 특별한 타입
- null과 undefined 둘 다 값이 비어있는 상태
null : 값이 없는 상태
let message = null; // 값이 빈 상태를 의도적으로 표현
undefined : 값을 할당하지 않은 상태
let message; // 값을 할당하지 않은 상태
심볼
- 유일한 토근을 나타내기 위해 ES6에서 도입한 새로운 데이터 타입
- 항상 유일한 값을 가짐
const KIM_JOB = Symbol('My Job is Programer');
const TOM_JOB = Symbol('My Job is Programer');
console.log(KIM_JOB === TOM_JOB); // flase : 심볼은 모두 서로 다름
// 출력 시
console.log(KIM_JOB.description);
// 심볼 객체의 description 프로퍼티는 심볼을 생성할 때 제공된 설명 문자열을 반환
// ---> My Job is Programer
정리
- 자바스크립트 데이터 타입은 기본 타입과 객체 타입이 있음
- 기본 타입에는 숫자, 문자열, 불리언, null, undefined, 심볼이 있음
- 객체 타입은 기본 타입을 제외한 모든 데이터 타입을 말함
- 숫자를 나타내기 위해 number 타입 사용
- ',",`을 이용하여 문자열 나타냄
- 줄바꿈, 탭, 백스페이스 등등을 나타내는 이스케이프 표현이 있음
- 불리언은 true, false 두 개의 값을 가짐
- null과 undefined 둘 다 값이 비어있는 상태임
- 심볼은 다른 식별자와 혼동해서는 안 될 때, 고유한 식별자가 필요할 때 사용
'개발 > Javascript' 카테고리의 다른 글
Javascript 제어문-조건문 (공부_9) (0) | 2024.08.12 |
---|---|
Javascript 배열 (공부_8) (0) | 2024.08.08 |
Javascript 변수, 상수 (공부_6) (0) | 2024.07.31 |
Javascript 이벤트 다루기 (공부_5) (0) | 2024.07.25 |
Javascript 데이터 속성 dataset (공부_4) (0) | 2024.07.22 |