모던 자바스크립트 Deep Dive 스터디 1일차

김동환·2023년 6월 29일

Learn_JavaScript

목록 보기
3/10
post-thumbnail

1일차 주요 내용 정리


💡 1장 프로그래밍

문제 해결 능력

  • 복잠함을 단순하게 분해 decomposition
  • 자료를 정리하고 구분 modeling
  • 순서에 맞게 행위를 배열해야한다.

💡 2장 자바스크립트란?

Ajax

  • 비동기 방식으로 데이터를 교환할 수 있는 통신기능
  • Ajax는 변경할 필요가 없는 부분은 다시 렌더링하지 않고, 변경해야 하는 부분만 한정적으로 렌더링함

V8 자바스크립트 엔진

  • 크롬, 오페라에서 사용중
  • V8 엔진은 구글에서 개발한 오픈 소스 자바스크립트 엔진이다.
  • 자바스크립트 엔진 종류에는 크롬의 V8, 파이어폭스의 SpriderMonkey, 사파리의 JavaScriptCore, 마이크로 소프트 엣지의 Chakra 등이 있다.

Node.js

  • 구글 V8 js엔진으로 빌드된 자바스크립트 런타임 환경이다.
  • 주로 서버 사이드 애플리케이션 개발에 사용된다.
  • 비동기 I/O를 지원하며 single thread 이벤트 루프 기반으로 동작함으로써 request 처리 성능이 좋다.
  • 그러므로 I/O가 빈번하게 발생하는 SPA에 적합하다.(CPU 사용률이 높은 앱에는 권장하지않음)
  • DOM API 를 제공하지 않는다.

SPA 프레임워크

  • CBD(Component based development)방법론을 기반으로한다.
  • Angular, React, Vue.js, Svelte 등 다양한 SPA 프레임워크/라이브러리가 있다.

ECMAScript

  • ECMAScript 는 자바스크립트의 표준 사양인 ECMA-262를 말한다.
  • 자바스크립트는 일반적으로 프로그래밍 언어로서 기본 뼈대(core)를 이루는 ECMAScript와
    브라우저가 별도 지원하는 클라이언트 사이드 WebAPI, 즉 DOM, BOM, Canvas, XMLHttpRequest, fetch, requestAnimationFrame, SVG, WebComponent, Web Worker 등을 아우르는 개념이다.
  • 쉽게말해 표준화된 자바스크립트 (자바스크립트 코어)

자바스크립트의 특징

  • 웹 브라우저에서 동작하는 유일한 프로그래밍 언어이다.
  • 기본문법은 C, 자바와 유사하고 셀프(Self)에서는 프로토타입 기반 상속을, 스킴(Scheme)에서는 일급 함수의 개념을 차용했다.
  • 자바스크립트는 명령형(imperative), 함수형(functional), 프로토타입 기반(prototype-based) 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어다.
  • 클래스(ES6에서 도입됨), 상속, 정보 은닉을 위한 키워드가 없어서 객체지향 언어가 아니라고 오해 하는 경우도 있지만 클래스 기반 객체지향 언어보다 효율적이면서 강력한 프로토타입 기반의 객체지향 언어다.

ES6 브라우저 지원 현황

  • Node.js는 v4부터 ES6를 지원하기 시작했다.
  • ES6 지원 현황 사이트 https://kangax.github.io/compat-table/es6
  • 지원되지 않는 상황에는 필요에 따라서 바벨(Babel)과 같은 트랜스파일러를 이용해 ES6 이상의 사양으로 구현한 소스코드를 ES5 이하의 사양으로 다운그레이드할 필요가 있다.
profile
프론트엔드 개발자

0개의 댓글