코딩을 쉽게 해보자

[Deep Dive] 1장~ 3장 본문

JavaScript

[Deep Dive] 1장~ 3장

꿀단지코딩 2022. 8. 16. 15:26

1장 프로그래밍

프로그래밍 언어는 구문(Syntax)와 의미(Semantics)의 조합으로 표현된다.

 

2장 자바스크립트란?

브라우저에 따라 웹페이지가 정상적으로 동작하지 않는 크로스 브라우징 이슈가 발생했다.

자바스크립트의 표준화를 위해 ECMAScript가 탄생하였다.

ES5는 HTML5와 함께 출현한 표준안이다.

 

Ajax

자바스크립트를 통해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능인

Ajax(Asynchronous JavaScript and XML)가 XMLHttpRequest라는 이름으로 등장했다.

 

Node.js

구글 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경

비동기 I/O를 지원하며 단일 스레드 이벤트 루프 기반으로 동작

데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는 SPA에 적합

 

자바스크립트

웹 브라우저에서 동작하는 유일한 프로그래밍 언어

개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어

명령형, 함수형, 프로토타입 기반, 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어이다.

인터넷 익스플로러를 제외한 대부분의 모던 브라우저는 ES6를 지원하지만 100% 지원하고 있지는 않다.

Node.js는 v4부터 ES6를 지원하기 시작했다.

 

브라우저에서 아직 지원하지 않는 최신기능을 사용하거나 인터넷 익스플로러, 구형 브라우저를 고려해야하는 상황에는 바벨과 같은 트랜스파일러를 사용해 ES5 이하의 사양으로 다운그레이드할 필요가 있다.

 

3장 자바스크립트 개발 환경과 실행 방법

브라우저는 클라이언트 사이드 Web API를 지원하고 Node.js는 Node.js 고유의 API를 지원한다.

공통으로 EMCASCript를 지원하는데 만약 브라우저가 사용자 컴퓨터의 로컬 파일을 삭제 수정 생성할 수 있다면 이는 사용자 컴퓨터가 악성 코드에 그대로 노출된 것과 동일하기 때문에 보안상의 이유로 브라우저 환경의 JS는 파일 시스템을 제공하지 않는다.

 

 

'JavaScript' 카테고리의 다른 글

[Deep Dive] 6장 - 데이터 타입  (0) 2022.08.18
[Deep Dive] 5장 - 표현식과 문  (0) 2022.08.17
[Deep Dive] 4장 - 변수  (0) 2022.08.16
이벤트 루프, 콜 스택, 태스크 큐  (0) 2022.05.29
this란?  (0) 2022.05.27