Javascript/구조

    [javascript] Primitive Type(원시 타입) vs Reference Type(참조 타입)

    자바스크립트의 자료형은 크게 원시 타입과 참조 타입으로 나뉩니다. 원시 타입 (Primitive Type) 원시 타입은 모두 하나의 값을 담고 있습니다. - 문자(string) - 숫자(number) - bigint - 불리언(boolean) - null - undefined - 심볼(symbol) => ES6부터 추가된 타입 총 일곱 가지 입니다. 원시 자료형은 값 자체에 대한 변경이 불가능(immutable) 하지만, 변수에 데이터를 재할당할 수 있습니다. 하나의 메모리에 하나의 데이터를 보관합니다. 변수를 재할당 해도 변수의 항당 값에 영향을 주지 않습니다. let myString = 'goodNews'; myString = 'badNews'; // 재할당 가능 myString[0] = 'B'; /..

    [javascript] 콜스택/메모리힙 구조, 데이터 저장/참조 원리

    콜 스택, 메모리 힙이란? 자바스크립트 엔진은 Memory Heap 과 Call Stack 으로 구성되어 있습니다. 가장 유명한 것이 구글의 V8 Engine입니다. 자바스크립트는 단일 스레드 (sigle thread) 프로그래밍 언어인데, 이 의미는 Call Stack이 하나 라는 이야기입니다. 즉 멀티가 되지 않고, 하나씩 하나씩 처리한다는 의미입니다. 콜 스택(Call Stack) 원시 타입(숫자 등) 데이터가 저장된다. 실행 콘텍스트(Execution Context)를 통해 1) 변수 식별자(이름) 저장, 2) 스코프 체인 및 this 관리, 3) 코드 실행 순서 관리 등을 수행. *실행 컨텍스트의 상세 구조 및 원리는 이 글의 범위를 넘어가므로 다루지 않습니다. 메모리 힙(Memory Heap)..