웹페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어
브라우저에 따라 웹 페이지가 정상적으로 동작하지 않는 크로스 브라우징 이슈
발생
이에 모든 브라우저에서 정상적으로 동작하는 표준화된 자바스크립트인 ECMAScript
출시
1. 초창기
2. AJAX
3. JQuery
4. V8 자바스크립트 엔진
5. Node.js
SPA란 싱글 페이지 어플리케이션으로 전체 페이지를 다시 표시하는 것이 아니라 필요한 영역만 변화를 주어 부드러운 화면 전환이 가능하도록 한다.
인터넷 익스플로러를 제외한 모던 브라우저는 대부분 지원한다. 하지만 익스플로러나 구형 브라우저는 지원하지 않는다.
그래서 바벨
을 사용해 다운 그레이드할 필요가 있다.
비동기와 동기 차이는 무엇일까?
동기는 작업이 시작된 이후에 응답을 받을 때 까지 다른 모든 작업을 대기한다.
비동기는 작업이 시작된 이후에 응답을 받을 때 까지 다른 작업들을 수행할 수 있다.스레드와 프로세스란?
스레드는 프로세스보다 더 작은 단위로 하나의 프로세스에서 여러 스레드를 만들 수 있다. 또한 스레드끼리 자원을 공유하고 작업을 동시에 수행한다.
프로세스는 메모리상에서 실행되는 작업 단위이다.자바스크립트는 비동기 통신을 만나도 얼지 않는 이유
이벤트 루프 덕분이다. 자바스크립트의 fetch, axios와 같은 비동기 함수를 만나면 비동기 코드를 브라우저 Web API에 맡기고, 백그라운드 작업 결과를 콜백 함수 형태로 callback queue에 넣고 처리 준비가 되면 callstack에 넣어 마무리 작업을 하는 과정입니다.