setTimeout, setInterval and requestAnimationFrame 배워두면 인생에 도움이 되는 개념들이다. 먼저 setTimeout은 자바스크립트 개념에서 온 것이 아니다. 브라우저 그리고 nodeJS 개념에서 왔다. 이게 뭘 하는 것이냐? 시간이 조금 흐른후에 함수를 실행하는것을 해준다. 자세하게 설명을 하자면 setTimeout은 시간이 지난 후에 기능을 message queue에 붙여준다. 함수를 자동으로 부르는 것이 아니라 함수를 message queue에 넣고 stack이 비게되면 자바스크립트가 실행을 하는 개념인것이다. 바로 이뤄질수도 있고 자바스크립트가 바쁘면 천천히 할수도 있다. 그래서 time specific 하다고 볼 수 없다. 아래에서 보면 다음과 같이 작성을 ..