JavaScript

김형진·2024년 8월 12일
  • 자바스크립트는 객체 기반의 스크립트 프로그래밍 언어
  • 느슨한 타입의 동적 언어

변수 선언 방식

  • var: 중복 선언 가능, 재할당 가능(함수 레벨 스코프)
  • let: 중복 선언 불가, 재할당 가능(블록 레벨 스코프)
  • const: 중복 선언 불가, 재할당 불가(블록 레벨 스코프)

자바스크립트 타입

원시 타입: Boolean, String, Number, null, undefined, Synbol(불변성 지님)

참조 타입: Object, Array, fuction,class

출처:https://velog.io/@frank_kim/JS-%EC%9B%90%EC%8B%9C%ED%83%80%EC%9E%85-vs-%EC%B0%B8%EC%A1%B0%ED%83%80%EC%9E%85
데이터 저장 순서

원시 타입은 Call Stack에 저장

참조 타입은 Heap에 저장하고 Heap주소를 Callstack에 저장

Event Loop

Event Loop구조

  • 메모리 힙(Memory Heap): 메모리 힙은 컴퓨터가 정보를 저장하는 곳 우리가 만드는 객체, 배열, 함수 등의 데이터가 저장되는 공간
  • 콜 스택(Call Stack): 할 일 목록. 함수를 호출하게 되면 해당 함수의 정보가 콜 스택에 쌓임, 먼저 들어간 것이 마지막에 나오는FILO구조 Web APIs와 Callback Queue는 자바스크립트 엔진 외부에서 관리됨.
  • Web APIs : 웹 API는 브라우저가 제공하는 다양한 기능들. ex) HTTP 요청, setTimeout 등 이런 작업들은 주로 비동기적으로 처리가 되므로 완료 시점을 정확히 알 수 없음.
  • Callback Queue: 콜백 큐는 비동기 작업의 결과나 나중에 실행되어야 하는 작업들이 대기하는 공간. 먼저 들어간 작업이 먼저 나가는FIFO 구조입니다. 여기에 있는 콜백 함수들은 콜스택이 비어졌을 때 먼저 대기열에 들어온 순서대로 수행됨.

확인 가능 사이트:http://latentflip.com/loupe/

0개의 댓글