본문 바로가기
JavaScript

[JS] 자료형

by 홍code 2022. 6. 29.

원시 타입 (primitive types)

  • 내장된 기본 타입
  • 한 번에 하나의 값 만 가질 수 있음, 하나의 고정된 저장 공간 이용
  • Number, String, Boolean, Null, Undefined

비 원시 타입 (non-primitive types)

  • 한 번에 여러 개의 값을 가질 수 있음, 여러 개의 고정되지 않은 동적 공간 사용
  • Object, Array, Function
let number = 10;

number = "10"; // 원시 타입


let list = [1, 2, 3]; //비원시 타입

Numbers

  • JavaScript에서 숫자는 한 가지 타입 (int, float 구분 X)
  • 숫자는 메모리에서 특정한 양의 공간을 갖게 된다. 
  • JavaScript는 정확도가 다소 떨어짐 (예) 길이가 긴 소수의 경우)
  • 연산 순서 PEMDAS를 따른다.
    (parentheses, exponent, multiplication, division, addition, subtraction)
    괄호 → 지수 → 곱하기 → 나누기 → 더하기 → 빼기
  • Infinity(무한), -Infinity, NaN(숫자가 아닌 값) etc…
let number1 = 25;

let number2 = 12.12345;


console.log(number1 / 5 + number2); //17.12345

Strings

원시 타입. 텍스트 데이터.

  • 따옴표로 감쌀 것 "" ''
  • 일관성 유지하기 (섞어 쓰지 X)
  • 감싸는 형태는 가능 "I told her 'go away'"
  • Template Literals
    • 표현식을 내장하고, 평가된 결과로 나타나는 문자열
    • 백 틱(back-tick)` ` 기호 사용
    • ${ } 시퀀스를 사용하면 표현식으로 취급되어 평가됨.
let fruits1 = "apple"; //큰따옴표

let fruits2 = 'melon'; //작은따옴표

let fruits3 = `strawberry`; //역따옴표(백틱)


console.log(`I counted ${3 + 4} sheep`); // "I counted 7 sheep"

Booleans

  • true or false
  • 예/아니오, 진실/거짓을 1이나 0으로 저장
  • 활용 예시 (로그인 상태 관리)
let isLoggedIn = false; //로그인이 되었는지 안되었는지

undefined와 null

undefined

  • 할당되지 않은 변수

null

  • 값의 의도적 부재
  • 변수에 대해 값으로 직접 지정해주는 요소

형 변환 (type conversion)

자료형들을 자동으로 알맞게 변환해주는 것

1. 암묵적(묵시적) 형 변환

  • 우리가 의도해서가 아니라 자동으로 자료형을 변환해주는 것.
  • 문자열과 숫자를 더할 때는 숫자를 문자열로 바꾼다.
  • 문자열과 숫자를 빼거나, 곱하거나, 나눌 땐 문자열을 숫자로 바꾼다.
let num1 = "15";

let num2 = 2;


console.log(num1 + num2); // 17

console.log(num1 * num2); // 30

2. 명시적 형 변환

  • 내장 함수 등을 이용하여 값을 유지하며 자료형을 의도적으로 변환시키는 것.
  • parseInt() 내장 함수는 문자열을 받아 숫자로 리턴해줌
let num1 = "12";

let num2 = 3;


console.log(parseInt(num1) + num2); //15

'JavaScript' 카테고리의 다른 글

[JS] 배열  (0) 2022.07.02
[JS] 조건문  (0) 2022.07.02
[JS] 연산자  (0) 2022.06.29
[JS] 변수와 상수  (0) 2022.06.29
[JS] 자바스크립트란  (0) 2022.06.29

댓글