Java Script 2

Java Script로 간단한 카드 짝맞추기 게임 만들기

* Event Loop & Call Stack Call Stack(호출 스택)은 동기 코드를 담당하고, Event Loop(이벤트 루프)는 비동기 코드를 담당한다. 여기서, 백그라운드와 태스크 큐의 개념을 알아야 하는데, 백그라운드는 타이머를 처리하고, 이벤트 리스너를 저장하는 공간이다. 예시로, setTimeout 같은 함수가 실행되면 백그라운드에서 시간을 재고 시간이 되면 setTimeout에 정의 해놓은 콜백 함수를 태스크 큐로 보내게 된다. 즉, 이 시점에서는 백그라운드에서 코드가 실행되는 것이 아니라 실행될 콜백 함수들이 태스크 큐로 들어간다는 것이다. 태스크 큐는 실행되어야 할 콜백 함수들이 대기하고 있는 공간이다. 태스크 큐에 먼저 들어온 함수부터 실행되기 시작하지만 이 때, 태스크 큐가 함..

Java Script 2022.03.31

Java Script로 간단한 텍스트 RPG 만들어 보기

시작 1. 모험 2. 휴식 3. 종료 입력 1.공격 2.회복 3.도망 입력 * 얕은복사 & 깊은 복사 & 참조 const a = []; const b = 'hi'; const c = {}; const arr = [a, b, c]; 다음과 같은 코드가 있다고 가정해보자, 여기서 arr 배열을 참조하는것은 아래 코드와 같다. const arr1 = arr; 하지만 이렇게 배열을 참조 할 경우, 아래 그림과 같이 하나가 변경되게 되면 둘은 참조 관계이기 때문에, 둘 모두가 영향을 받게 된다. 그래서 기존 값에 영향을 주지 않고 arr1의 값을 바꾸고 싶다면 참조가 아닌, 복사를 해야 하는데 이 때 복사하는 방법은 얕은 복사와 깊은 복사 두 가지로 나뉜다. 얕은 복사는 다음과 같은 방법으로 할 수 있고, ( c..

Java Script 2022.03.29