setTimeout 의 시간을 안주거나 0으로 하면 크롬에서는 기본적으로 4ms 로 정해지는것이라고 알고있었다

실제로 그렇게 이야기하는 글이 인터넷상에 많다

bGV0IHQgPSBuZXcgRGF0ZSgpOwpzZXRUaW1lb3V0KCgpID0+IGNvbnNvbGUubG9nKG5ldyBEYXRlKCkgLSB0KSk7
let t = new Date(); setTimeout(() => console.log(new Date() - t));

이야기는 크롬을 기준으로 한다.

근데 이걸 실행해보니 아닌것이다..! 0~2ms 가 나오네?

내가 알던게 잘못된것인지 확인해봄..

https://developer.mozilla.org/ko/docs/Web/API/setTimeout

이 문서에 "중첩 타임아웃" 란을 보니 아니라고 한다.

그래서 해본 테스트 https://yeu.kr/IwiOn 해보니 정말 아니다 5회이상의 콜백중첩을 할때 4ms 정도가 나오는것이였다.

https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers 여기 5번에도 그렇게 쓰여있다

문득 든 생각.. 그러면 1000이라고 시간을 주엇을때에도 5회중첩이 시간에 어떠한 영향을 미치는가 해봤다

https://yeu.kr/NaAiO 딱히 영향 없는것으로 보인다

참고로 파이어폭스에서는 5중첩 이후로는 15~16ms 정도가 나왔다