JavaScript 엔진은 Call Stack이 1개입니다. 그말인즉슨 JavaScript 런타임상 한 시점에는 오로지 하나의 Task만 수행이 가능해야 한다는 것을 의미합니다. (실제로 그렇지는
JavaScript 엔진은 Call Stack이 1개입니다. 그말인즉슨 JavaScript 런타임상 한 시점에는 오로지 하나의 Task만 수행이 가능해야 한다는 것을 의미합니다. (실제로 그렇지는 않습니다. JavaScript 런타임에는 JavaScript 엔진 외 다른 환경이 또 존재하기 때문입니다.) 1. 동기와 비동기의 차이 - 동기 방식은 Task가 시작한 순간부터 끝날 때까지 다른 Task를 수행할 수 없습니다. - 비동기 방식은 Task(예컨대 setTimeout API를 사용)가 시작한 순간 Web API, Event Queue 등의 JavaScript 엔진 외의 브라우저 환경에 Task를 옮겨두고 Task가 끝날 때까지 다른 Task를 수행할 수 있습니다. 2. 비동기의 장점 - 가장 대표적으로 서버로 요청을 보낼 때 비동기로 보내면 응답이 오는 동안 다른 Task를 수행할 수 있다는 점이 있습니다. 3. Git을 쓰는 이유와 장단점 - 기본적으로 Git은 소스형상관리 도구입니다. 기능을 개발하거나 버그를 수정하고 각각의 버젼(형상)을 저장해둔다는 의미입니다. 또한, 하나의 저장소를 여러 명이 공유해서 사용할 수 있기 때문에 협업을 하는데도 용이합니다. (단순히 파일을 직접 옮겨가며 여러명이 작업한다고 생각하면 Git이 얼마나 편리한 지를 알 수 있을겁니다.) 단점은 아직까지 주변에서 Git의 단점을 말하는 사람은 본 적이 없습니다. 혹여 SVN과 같은 다른 툴과 비교해서 단점이 있을 수는 있겠으나, 그럼에도 Git의 장점이 훨씬 더 많은 것으로 알고 있습니다. 동기, 비동기관련 링크는 아래 첨부드릴테니 한 번 공부해보세요~ https://poiemaweb.com/js-async https://poiemaweb.com/js-ajax