본문 바로가기
KDT/JavaScript

데이터 타입 & 타입 변환

by jhwannabe 2023. 4. 5.

1. 숫자형(number)

  • 정수와 실수를 따로 구분하지 않음
  • 모든 수를 실수 하나로만 표현

2. 문자형(string)

  • '', "" 또는 ``로 둘러싸인 문자열의 집합
    num = 10
    "입력한 숫자는" + num + "입니다.";
    `입력한 숫자는 ${num} 입니다.`;

3. 논리형(boolean)

  • 참(true)와 거짓(false)로 표현되는 값
  • false, 0, '', "", null, undefined는 모두 거짓(false)로 판정함
  • flase가 아닌 모든 값은 참(true)로 판정함

4. undefined, null

  • undefined: 타입이 정해지지 않은 타입을 의미(변수 선언 후 값이 정해지지 않은 경우)
    let num;
    console.log(num);   // undefined
  • null: null을 저장한 값, 값이 없는 것
    let obj = null;
    console.log(obj);   // null

5. 심볼형(symbol)

  • 유일하고 변경 불가능한 기본값을 만듬
  • 객체 속성의 key로 사용법
    const sym1 = Symbol('Apple');
    const sym2 = Symbol('Apple');
    
    console.log(sym1 == sym2);      // 값이 같은지 비교를 하면 False → 주소 값이 다르기 때문
    console.log(sym1 == sym2);      //데이터 타입과 값이 같은지 비교

6. 객체형(object)

  • 어떤 속성을 하나의 변수로 저장할 수 있게 해주는 집합
  • key value pair 구조로 저장
    const user = {userid:'apple, name:'김사과',age:20}
                 --------------------------------------
                   key    value

 자바스크립트의 변수는 타입이 고정되어 있지 않으며 같은 변수에 다른 타입의 값을 대입 가능(파이썬과 같은 기능)

    let user = {userid:'apple', name:'김사과',age:20}
    user ='김사과' 
    가능!

 


자동 타입 변환

  • 특정 타입의 값이 기대하는 곳에 다른 타입의 값이 오면 자동으로 타입을 변환해서 사용
        console.log(num4+str3); 1       //결과 1010
        console.log(num4-str3);         //결과 0    (숫자로 예상할 수 있는 값이 있다면 자동형변환)
        console.log(num4*str3);         //결과 100  (자동 형 변환)
        console.log(num4/str3);         //결과 1    (자동 형 변환)
  • NaN(Not a Number)
  • 정의 되지 않은 값이나 표현할 수 없는 값이라는 의미
  • 숫자로 변환할 수 없는 연산을 시도
    const char ='삼십';
    result = char - 10;     // result의 값은 NaN

 

타입변환 함수

  • 강제로 타입을 변환할 수 있음
    • Number(): 문자나 숫자로 변환
    • String(): 숫자나 블린등을 문자형으로 변환
    • Boolean(): 문자나 숫자 등을 불린형으로 변환
    • Object() : 모든 자료형을 객체형으로 변환
    • parseInt(): 문자를 int형으로 변환
    • parseFloat(): 문자를 float형으로 변환
728x90

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

조건문  (0) 2023.04.05
연산자(Operator)  (0) 2023.04.05
대화 상자  (0) 2023.04.05
변수 & 상수  (1) 2023.04.05
자바스크립트 역사 & 특징  (0) 2023.04.05