웹/JavaScript

[JavaScript] 데이터 타입

caramel-bottle 2023. 10. 28.

데이터 타입(Data Type)

  • 프로그램에서 다룰 수 있는 값의 종류
  • 자바스크립트는 선언시 타입을 정하지 않기 때문에 문제가 발생할 수 있음
  • 자바스크립트의 타입 유연성을 해결하기 위해 MS의 타입스크립트가 탄생

 

숫자형(number)

정수와 실수를 구분하지 않는다.

모든 수를 실수 하나로만 표현

 

 숫자형

let num;
num = 10;
console.log(num);


 여러가지 number

const num1 = 10;
const num2 = 11.2;
const num3 = 10e6;
console.log(num1);
console.log(num2);
console.log(num3);
console.log(typeof(num1));
console.log(typeof(num2));
console.log(typeof(num3));


문자형(string)

'' 또는 ""로 둘러싸인 문자의 집합

 

✓ 상수 선언

const num1 = 10;
const num2 = 5;
const str1 = 'Hello';
const str2 = 'World';
const str3 = '10';
const longstr = `여러줄 문자열
변수도 이렇게
만들 수 있다.`;

✓ number + string

console.log(num1 + num2);
console.log(num1 + str1);
console.log(str1 + str2);
console.log(str1 + ' ' + str2);


✓ 여러줄 문자열 출력

console.log(`안녕하세요
두번째줄
세번째줄
입니다.`);
console.log(longstr);


✓ `${}` 포맷팅

` : 따옴표 아님. backtick

console.log(`str1: ${str1}, str2: ${str2}`);


✓ number (+, -, *, /) string

console.log(num1 + str3);
console.log(num1 - str3);
console.log(num1 * str3);
console.log(num1 / str3);


논리형(boolean)

참(true)과 거짓(false)으로 표현되는 값

거짓: false, 0, '', null, undefined

참: 거짓이 아닌 모든 값

 

✓ 상수 선언

const b1 = true;
const b2 = false;

✓ true or false

console.log(b1);
console.log(b2);
console.log(10 > 5);
console.log(10 < 5);


✓ type

console.log(typeof(b1));


undefined, null

  • undefined
    타입이 정해지지 않음
    변수 선언 후 값을 넣지 않아서 타입이 정해지지 않은 경우
  • null
    값이 null인 경우
    의도적으로 빈값을 명시하기 위해 사용

✓ undefined

let num;
console.log(num);
console.log(typeof(num));


✓ null

let obj2 = null;
console.log(obj2);
console.log(typeof(obj2));


✓ 타입 확인

console.log(typeof(null));
console.log(typeof(undefined));


✓ 값과 타입 비교

console.log(null === undefined);
console.log(null == undefined);
console.log(null === null);
console.log(null == null);


✓ NaN or not

console.log(isNaN(1 + null));
console.log(isNaN(1 + undefined));


심볼형(symbol)

유일하고 변경 불가능한 기본값을 만듦 ( 고유성 )

객체 속성의 key로 사용

 

✓ 값도 다르고 타입도 다름.

const sym1 = Symbol('hello');
const sym2 = Symbol('hello');

console.log(typeof(sym1));
console.log(typeof(sym2));

console.log(sym1 == sym2);
console.log(sym1 === sym2);


객체형(object)

어떤 속성을 하나의 변수에 저장할 수 있게 해주는 집합

key value pair 구조로 저장

 

✓ 객체 생성

let user = {userid:'apple', name:'김사과', age:10};
console.log(user);
user = '반하나'
console.log(user);

object도 타입이기 때문에 변수에 다른 타입의 값을 넣으면 변경이 가능함.


참고

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Grammar_and_types

 

문법과 자료형 - JavaScript | MDN

이 장은 JavaScript의 기본 문법과 변수 선언, 자료형 및 리터럴을 다룹니다.

developer.mozilla.org

 

' > JavaScript' 카테고리의 다른 글

[JavaScript] 제어문(조건문, 반복문)  (1) 2023.10.29
[JavaScript] 대화상자  (0) 2023.10.28
[JavaScript] 자동 타입 변환  (0) 2023.10.28
[JavaScript] 변수  (0) 2023.10.25
[JavaScript] JavaScript  (0) 2023.10.20

댓글