[JS] JS 기초

vSsongv·2021년 11월 22일
0

JS

목록 보기
1/40
post-thumbnail

❓ JS란?

  • 브랜던 아이크가 개발한 브라우저에서 동작하는 프로그래밍 언어.
  • ms에서 JScript를 IE에 탑재했을 때, JS와 표준화되지 않자 자사 브라우저에만 동작하는 기능을 경쟁적으로 추가했다. -> 크로스 브라우징 이슈 발생
  • 이로 인해 모든 브라우저에서 정상적으로 동작하는 웹페이지를 개발하기 위해 표준화된 JS인 ECMAScript가 등장했다.
  • 현재 ES12(ECMAScript 2021)까지 등장했다.

🔰 Node JS

  • 브라우저 이외의 환경에서도 동작할 수 있도록 JS 엔진을 브라우저에서 독립시키 JS실행 환경이다. 보통 server side application 개발에 주로 사용된다.
  • 비동기 I/O를 지원하며 single thread 이벤트 루프 기반으로 동작함으로써 요청처리 성능이 좋다.

JS는 client side Web API이다.

  • ECMAScript + DOM, BOM, Canvas, XMLHttpRequest, Fetch, requestAnimationFrame, SVG, Web Storage, Web Component, Web worker
  • JS는 웹 브라우저에서 동작하는 유일한 프로그래밍 언어이다.
  • 개발자가 별도의 compile 작업을 수행하지 않는 interpreter 언어이다.
compiler 언어interpreter 언어
코드가 실행되기 전 컴파일 타임에 소스코드 전체를 한번에 머신코드로 변환한 후 실행한다.코드가 실행되는 단계인 런타임에 문 단위로 한 줄씩 중간 코드(바이트 코드)로 변환한 후 실행한다.
실행 파일을 생성한다.실행 파일을 생성하지 않는다.
실행에 앞서 컴파일은 단 한 번 수행된다.코드가 실행될 때마다 인터프리터 과정이 반복 수행된다.
컴파일과 실행 단계가 분리되어 있으므로 코드 실행 속도가 빠르다.반복 수행되므로 실행 속도가 비교적 느리다.
  • JS는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 프로그래밍 언어이다.
  • JS는 garbage collector를 내장하고 있는 언어로서, 메모리 누수를 방지한다.

<모던 자바스크립트 deepdive와, 추가 탐구한 내용을 정리한 포스트입니다.>

profile
wanna be bright person✨ Front-End developer

0개의 댓글