✊ 필오의 개발일지
Back to Posts
2019년 10월 27일

코드스피츠85 1회-(1) JavaScript Now

코드스피츠85 1회-(1) JavaScript Now

코드스피츠 85에서는 none blocking에 대한 이야기와 자바스크립트를 짜는 근본적인 방법에 대한 고찰을 이야기해본다.


🌕🌑🌑

TL;DR

오늘날의 자바스크립트 동향과 ECMAScript에 대해서 알아본다. ECMAScript가 버전업이 될때의 과정과, ES6 이후(~ES10)에 표준이 된 스펙들 중 일부를 알아본다. 또한 proposal에 올라온 목록과 체택되진 않았지만 이미 몇몇 브라우저에 적용된 개념들에 대해서 알아본다.


JavaScript PipeLine

자바스크립트의 ECMAScript를 알아보기전에 우리는 프론트 개발자로써 어느 과정까지 건드리고 있는지를 알아보고, ECMAScript에 조금 더 집중할 수 있는 상황에 대해서 알아본다.

  1. Code
  1. Transpiler

  1. (1단계) 언어마다 컴파일러가 있다.

    • (타입스크립트) tsc / (코들린) kotlinc / …
  2. (2단계) 원하는 형태의 자바스크립트로 바꾸거나, 원하는 버전의 자바스크립트로 바꿔줌

    • babel
  3. Packaging : 최적화 과정. (webpack)

  4. CI : 테스트..등등의 여러 job

  5. Deploy : 최종 deploy

호환성이라던지, 브라우저에서 어떻게 실행할지는 트랜스파일러나 패키징이 알아서 책임지게 하고, 개발자가 코드에 집중할 수 있는 환경이 만들어졌다고도 할 수 있다.


ECMAScript


ECMAScript Standard

자바스크립트라는 언어를 따라가기 위해 표준에 대해 알아보고 이해한다.

C#이후에 업데이트가 가장 많이 일어나는 언어이다.

  1. 매년 상반기 새로운 버전을 출시함
  1. ES6 이후 급격한 언어의 변화를 지양하고 점진적인 버전업을 진행
  1. 실제로는..

최신판을 쓰기 위해서는 크롬을 사용해야하고, 크롬에서만 반영된 스펙을 안볼 수 없다.

1. ECMAScript 6

ES5이후에 중요한 부분

cf__1) 클래스는 설탕문법이다?

참고: ES6 Class는 단지 prototype 상속의 문법설탕일 뿐인가? 

ECMAScript 7 ~ 10, Stage3(11)

2. ECMAScript 7

const [a, ...[b, ...c]] = [1, 2, 3, 4]; // a=1, b=2, c=[3,4]

3. ECMAScript 8

참고: SharedArrayBuffer 객체와 Atomics 객체를 사용한 메모리 공유  

shared memory와 atomics를 알아보기 전에 알아야할 웹 워커 개념

cf__2) web worker와 main thread

참고1: 복잡성 감소 또는 Web Workers 사용  참고2: Web Workers API 

shared memory와 atomics

4. ECMAScript 9

5. ECMAScript 10

6. Stage3 (ECMAScript 11)

아래 것은 크롬이 이미 구현


자바스크립트는 현대 나온 언어 중에 가장 어렵다. 현대 모든 언어 중에 제일 장점이라고 불리는 것을 연마다 넣고 있다. 언어에서 어려운 개념을 다 넣고 있다.. 광범위한 언어적 지식을 요구하고 있다.



참고자료

  1. ES6 Class는 단지 prototype 상속의 문법설탕일 뿐인가? 
  2. SharedArrayBuffer 객체와 Atomics 객체를 사용한 메모리 공유  
  3. ECMAScript 발제 레포 
  4. 변수에 배열의 나머지를 할당하기 
  5. SharedWorker 
  6. 복잡성 감소 또는 Web Workers 사용 
  7. Web Workers API 
Previous코드스피츠85 1회-(2) Runtime때 일어나는 일들
NextWIP_웹 로봇

Related

© 2025 Felix