[자바스크립트 ES6+ 심화] 0. 강좌 소개, 범위

Speedwell🍀·2022년 2월 16일
0

바이블 강좌

  • 자바스크립트 바이블 강좌의 마지막 강좌
    • 개설된 "자바스크립트 ES6+ 기본" 강좌와 함께 ES6+ 스펙의 95% 이상을 다룸
  • 특히, 비동기 통신과 비동기 프로세스를 망라하여
    • 프레임워크를 만드는 개념으로 접근
    • 11단계로 나누어 단계별로 코드 구현
    • 비동기 통신과 비동기 처리를 정리할 수 있음

강좌의 상위 레벨 키워드

  • Class

    • 객체 지향 프로그래밍의 대명사
  • Proxy, Proxy Trap, Reflect

    • getter로 값을 구하면 바로 엔진이 처리
    • Proxy가 먼저 처리한 후, 엔진에게 넘겨주는 형태
    • 개발자에게 확장성을 부여한 것
  • Module

    • 코드의 모듈화, 프로그래밍의 새로운 패턴
  • Promise, async/await

    • 비동기 실행 환경에서 동기 실행
    • 많은 API의 기반 환경
    • 자바스크립트 실행의 패러다임
  • ArrayBuffer, TypedArray, DataView

    • Number 타입의 데이터를 바이너리로 처리
    • WebGL, 머신러닝/딥러닝의 이미지 처리에 필수
  • Web Workers, SharedArrayBuffer, Atomics

    • 멀티 스레드 환경의 병렬 처리
    • 동기 실행으로는 멀티 스레드 처리 불가
    • Web Workers를 SharedArrayBuffer에서 사용
  • Ajax, XMLHttpRequest, Fetch

    • 비동기 통신
    • 비동기 통신과 비동기 처리의 연결을 위해 Ajax, XMLHttpRequest를 포함시킴

비동기 11단계

  • 비동기 통신과 비동기 프로세스를 11단계로 나누어 단계별로 코드 구현

  • 11단계

    • XMLHttpRequest 비동기 통신
    • Promise로 비동기 실행
    • 비동기 통신 + 비동기 실행, 함수로 분리
    • 비동기로 다수의 파일 수신
    • 비동기 통신 + async/await
    • this 참조, 서버로 데이터 전송
    • 이벤트 핸들러 함수 분리
    • 이벤트 핸들러 바인딩
    • Fetch

강좌 접근

  • ES6+ 기능 이해 중요

  • 더불어 스펙 설계 그룹의 의도를 헤아리는 것

    • 오브젝트, 메소드를 만든 목적이 무엇인지?
    • 어떤 배경으로 인해 이것을 만든 것인지?
    • 개발자에게 전하려는 메시지가 무엇인지?

➡ 보다 깊게 이해할 수 있으며 JS 관련 기술이 연상되고 연결됨


ES6+ 위치

  • 개발자 관점에서 ES6+ 위치
    • ES5가 프로그래밍 언어의 기본에 중점을 둔 반면
    • ES6+는 관련된 API의 통합과 융합 ➡ ES6+가 나아갈 방향 (특히 ES6+ 심화 강좌의 오브젝트가 이 방향)
  • 관련된 API를 통합, 융합하여
    • 비동기를 병행 처리와 병렬 처리를 할 수 있으며
    • 비동기 통신을 쉽고 간단하게 구현할 수 있음

0개의 댓글