불변 데이터와 자바스크립트 메세지 큐

목차

  1. 불변 데이터란 무엇인가?
  2. 자바스크립트 메시지 큐

불변 데이터란 무엇인가?

불변 데이터는 생성된 후에 수정할 수 없는 데이터를 의미합니다. 즉, 한 번 생성되고 초기화된 후에는 그 값을 변경할 수 없습니다. 이는 데이터의 안정성과 예측 가능성을 높이는데 도움을 줍니다.

자바스크립트에서의 불변 데이터는 주로 원시 데이터 타입인 숫자, 문자열, 불리언, null, undefined 등을 포함합니다. 이러한 데이터는 할당 된 값 자체를 변경할 수 없으며, 새로운 값을 할당해야 합니다.

예를 들어, 다음과 같이 변수 age가 25로 초기화되었다고 가정해 봅시다.

let age = 25;

이후에 age 변수의 값을 변경하려고 하면 가능하지 않습니다.

age = 30; // 이는 불가능합니다

대신에, 새로운 값을 할당해야 합니다.

let newAge = 30; // 새로운 변수에 30을 할당합니다

이와는 달리, 객체나 배열과 같은 참조형 데이터 타입은 가변(mutable) 데이터로 분류됩니다. 이러한 데이터 타입은 값 자체를 변경할 수 있으며, 이는 예기치 않은 결과를 초래할 수 있습니다.

자바스크립트 메시지 큐

자바스크립트 메시지 큐는 비동기적으로 실행되는 작업들을 관리하는 메커니즘입니다. 이메세지 큐는 이벤트 루프와 함께 작동하여 실행 완료되지 않은 작업을 효과적으로 관리합니다.

메시지 큐에는 실행될 작업들이 이벤트 처리와 콜백 함수를 기다리는 순서대로 저장됩니다. 메인 쓰레드에서 실행되는 작업이 완료되면, 이벤트 루프는 메시지 큐에서 다음 작업을 꺼내와 실행합니다.

이러한 메시지 큐를 통해 비동기적인 작업들(예: 타이머, 이벤트 핸들러, 비동기 함수 호출 등)이 순서대로 실행되고 결과를 반환하는 동안, 다른 작업들은 계속해서 메시지 큐에 삽입됩니다.

자바스크립트의 비동기 처리 방식은 이러한 메시지 큐 메커니즘을 통해 작업들을 순차적이고 예측 가능한 방식으로 처리할 수 있게 해줍니다.

참고 자료: