[모던 자바스크립트 Deep Dive] 01~03장
언어/JavaScript2021. 8. 28. 13:48
01장 프로그래밍
1.1 프로그래밍이란?
- 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션
- Computational thinking(컴퓨팅 사고)가 필요하다.
1.2 프로그래밍 언어
- 프로그래밍이란 프로그래밍 언어를 사용해 컴퓨터에서 실행을 요구하는 일종의 커뮤니케이션, 구문(Syntax), 의미(semantics)의 조합.
- 사람이 프로그래밍 언어를 작성하여 컴파일러혹은 인터프린터를 통해서 컴퓨터가 이해할 수 있도록 기계어로 전달함.
1.3 구문과 의미
- 요구사항의 집합을 분석해서 적절한 자료구조와 함수의 집합으로 변환한 후, 그 흐름을 제어하는 것.
02장 자바스크립트란?
2.1 자바스크립트의 탄생
- 넷스케이프 커뮤니케이션즈에서 웹페이지 보조적인 기능을 수행하기 위해 브랜던 아이크가 개발한 경량 프로그래밍 언어
- 모카 -> 라이브크립트 -> 자바스크립트로 최정 명명
2.2 자바스크립트의 표준화
- KJscript와의 문제로 크로스 브라우징 이슈가 발생하기 시작
- ECMA 인터내셔널에 자바스크립트 표준화 요청
- 1997년 7월 ECMA-262라는 표준화된 자바스크립트 사양이 완성
- 상표권 문제로 ECMAScript로 명명
- 이후 ES11까지 계속 발전되어 옴.
2.3 자바스크립트의 성장의 역사
- Ajax : 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신기술, 필요한 부분만 렌더링이 가능
- jQuery : DOM을 더욱 쉽게 제어할 수 있게 만듬.
- V8 자바스크립트 엔진 : 구글의 엔진, 데크스톱 애플리케이션과 유사한 UX를 제공할 있는 언어로 정착
- Node.js : 구글 V8자바스크립트 엔진으로, 브라우저 이외의 환경에서 작동할 수 있게 만든 런타임 환경
- SPA 프레임워크 : Single Page Application, CBD(Component based development) 방법론에 기반, Angular, React, Vue.js, Svelet 등이 있음.
2.4 자바스크립트와 ECMAScript
- 자바스크립트의 표준사양인 ECMA-262, 자바스크립트의 뼈대
- ECMAScript + 브라우저가 지원하는 클라이언트 사이드 Web API -> 자바스크립트
2.5 자바스크립트의 특장
- 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
- 인터프린터 언어(컴파일 X)
- 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어
2.6 ES6 브라우저 지원 현황
- IE나 구형 브라우져를 제외하고는 대부분 지원하고 있음.
- 구형을 위해서는 바벨과 같은 트랜스파일러를 사용해 ES6 -> ES5 이하로 다운그레이드 하여야 함.
03장 자바스크립틑 개발 환경과 실행 방법
3.1 자바스크립트 실행환경
- 브라우저와 Node.js 환경으로 구분됨.
- 브라우저 : ECMAScript + Client-side APIs
- Node.js : ECMAScript + Node.js Host APIs
3.2 웹 브라우저
- 책에선 크롬 브라우저를 사용함(점유율 높고 표준 사양 준수)
- F12를 통해 개발자 도구 사용가능
- Console창 자주 사용하니 열어둘것.
- 웹브라우저에서 실행 및 디버깅 방법 설명
3.3 Node.js
- Node.js 설치 -> http://nodejs.org
- REPL(Read Eval Print Loop) 지원 -> ..vs Code 쓸꺼라 안씀.
3.4 비주얼 스튜디오 코드
- VS CODE 설치 -> https://code.visualstudio.com
- Code Runner 확장 플러그인 : Node.js 환경을 사용해 자바스크립트를 실행 해줌, Ctrl + Alt + N 키를 사용하여 실행
- Live Server 확장 플러그인 : 소스코드를 수정할 떄 마다 수정사항을 브라우저에 자동으로 반영, 우측 하단에 Go Live를 사용해서 실행