[JS] 데이터 타입

    JavaScript의 데이터 타입은 크게 원시자료형참조 자료형으로 나뉜다

     

    • 원시 자료형
      • 변수에 값이 직접 저장되는 자료형
      • 불변, 값이 복사 → 변수들끼리 서로 영향 없음
      • Number, String, Boolean, undefined, null
    • 참조 자료형
      • 객체의 주소가 저장됨
      • 가변적, 주소가 복사 → 변수들끼리 서로 영향을 끼침
      • Objects(Object, Array, Function) 
    const ob1 = { name: 'youngbok', age: 20}
    const ob2 = ob1
    ob2.age = 25
    
    console.log(ob1.age) // 25
    console.log(ob2.age) // 25

     

    # 원시 자료형

    1. Number: 정수 또는 실수형 숫자

    2. String: 텍스트 데이터를 표현하는 자료형 (= 문자열)

     

    • '+' 연산자를 이용해서 문자열끼리 결합 가능
    • 작은 따옴표가 추천됨
    • 템플릿 리터럴(= 파이썬의 f string): 백틱(`)을 사용, 표현식은 $와 {expression}를 사용
    const age = 100
    const message = `홍길동은 ${age}세 입니다`

    ※  참고: 문자열 비교

    더보기

    JS에서 문자열은 '원시 타입 문자열''객체처럼 쓰는 문자열'이 따로 있다

    let str = "test"
    //  new: 새로운 객체를 만들겠다
    let str2 = new String("test")
    
    console.log(typeof(str))		// string
    console.log(typeof(str2))		// object
    
    console.log(str)		// test
    console.log(str2) 		// 사진 참고
    
    console.log(str2.toUpperCase()) // TEST, 객체니까 함수가능

    근데....

    console.log("test".toUpperCase())	// TEST

    얘도 돌아감... 객체가 아닌데... 이게 왜 댐?

    → JS는 내부적으로 원시타입에 대해 내장 객체를 갖고 있음

    원시 타입 사용시에 내작 객체로 알아서 해석...

    JS가 개같은 이유

    3. null: 변수에 값이 없음을 의도적으로 표현할 때 사용

    4. undefined: 변수 선언 이후 직접 값을 할당하지 않으면 자동으로 할당

    let a = null	// null
    let b 		// undefined

    5. Boolean(True / False): 조건문 또는 반복문에서 Boolean이 아닌 애들은 자동형변환 됨

    (≒ 파이썬에서 0은 false, 1은 True인 것과 비슷)

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

    [JS] 조건문과 반복문  (0) 2023.10.24
    [JS] 연산자  (0) 2023.10.24
    [JS] JavaScipt의 변수  (0) 2023.10.24
    [JS] JavaScript와 DOM  (0) 2023.10.23
    [JS] JavaScript 개요  (0) 2023.10.23

    댓글