본문 바로가기
개발/Javascript

Javascript 데이터 타입 (공부_7)

by kobeay 2024. 8. 7.

데이터 타입

  • 값의 종류를 의미
  • 기본 타입과 객체 타입으로 구분

기본 타입 (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 둘 다 값이 비어있는 상태임
  • 심볼은 다른 식별자와 혼동해서는 안 될 때, 고유한 식별자가 필요할 때 사용