[TIL] 211007

📝 오늘 한 것

  1. 프로세스 / 쓰레드 / 멀티쓰레딩 / 자바스크립트 엔진 / call stack / event loop / render sequence / 브라우저가 코드를 실행하는 과정 / task queue와 microtask queue의 차이 / requestAnimationFrame() / 디버깅 tips (개발자 도구 source 탭 활용 법)

  2. 미니 게임 최종 완성


📚 배운 것

1. 리팩토링

미니 게임 최종 완성

1) 자바스크립트에서 타입 보장하기 2

Object.freeze()를 이용해 인자로 문자열 carrot과 bug가 들어가는 부분을 수정함

export const ItemType = Object.freeze({
  carrot: 'carrot',
  bug: 'bug'
});

onItemClick (item) {
  if (!this.started) {
    return;
  }

  if (item === ItemType.carrot) { // 'carrot'을 수정
    this.showGameLimit(--this.limit);
    if (this.limit === 0) {
      this.stop(Reason.win);
    }
  } else if (item === ItemType.bug) { // 'bug'를 수정
    this.stop(Reason.lose);
  }
}
onFieldClick (event) {
  const target = event.target;

  if (target.matches('.carrot')) {
    target.remove();
    this.callBack && this.callBack(ItemType.carrot); // 'carrot'을 수정
    playSound(carrotSound);
  } else if (target.matches('.bug')) {
    this.callBack && this.callBack(ItemType.bug); // 'bug'를 수정
  }
}

2. 이론 공부

강의 저작권 문제로 인해 배운 것과 필기 내용은 캡쳐해 첨부함
원본은 깃허브 private 저장소에 올림


✨ 내일 할 것

  1. 함수형 프로그래밍 방식으로 미니 게임 처음부터 다시 구현해보기

좋은 웹페이지 즐겨찾기