inblog logo
|
LifeLog, DevLog
    JS

    원시, 참조 타입 정리

    KYJTHEYJ's avatar
    KYJTHEYJ
    Nov 07, 2025
    원시, 참조 타입 정리
    // 원시, 참조 타입 구분 기준
    // -> 데이터가 메모리에 저장되는 위치에 따라 구분
    // -> 모든 데이터는 메모리 안쪽의 어떤 공간에 저장소에 저장됨
    
    let age = 34; // age 변수에 34 라는 숫자 데이터 저장
    // 변수의 데이터가 이제 메모리에 존재하는 특정 영역에 숫자가 저장됨
    
    // 원시타입의 데이터 종류 -> 숫자, 문자열, boolean, null, undefined
    // 이러한 원시타입은 메모리의 스택 영역에 저장됨
    // 다음에 힙 영역을 지나감
    
    // 참조타입의 데이터 종류 -> object, array, map, set
    // 참조타입도 데이터가 스택영역에 저장됨
    // 참조타입은 데이터를 지칭하는 주소가 스택 영역에 저장되고, 실제 값 자체가 힙 영역에 저장됨
    let age2 = {black: 41}; // -> 실제 값은 heap, 주소는 stack
    
    let obj1 = {name : "Alice"}; // 참조타입 생성 (스택에는 데이터 주소, 힙에는 값)
    let obj2 = obj1; // 이런 경우엔 obj2 변수는 obj1에 담긴 데이터 주소를 저장함
    
    // 결론적으로 obj1, obj2는 같은 데이터 주소를 가지게 됨
    obj2.name = "Bob"; // 이렇게 되면 같은 데이터 주소를 가지므로 obj1의 name이 변경됨
    console.log(obj1.name);

    다행히 메모리에 저장되는 영역에 대해서는
    내가 알고 있는 그대로고 변함 없어서 다행이다

    Share article

    LifeLog, DevLog - https://github.com/KYJTHEYJ

    RSS·Powered by Inblog