react 개발자 취업 지원 준비[1]

Hansoo Kim·2020년 4월 7일
0

Js 및 Ts의 버전의 발전에 대략적인 이해가 있으며, 더불어 어떤 최신 feature들이 추가 되는지 계속해서 공부하시는 분.

JS

  1. ECMAScript 란?

    Javscript는 1990년대 Netscape사에서 개발되었는데 언어가 인기를 얻자 MS에서 Jscript라는 언어를 개발하여 IE에 도입했다(이때부터 벌써 IE헬파티가..). 이 두 스크립트가 표준 없이 각자 개발되다가 Netscape는 표준화를 위해 자바스크립트 기술 규격을 Ecma international 에 제출, 채택되어 ECMA-262 라는 규격이 탄생하게 된다. 이후 JavscriptJscript 모두 ECMAScript의 호환을 목표로 개발되었다.

  2. ES6 = ECMAScript 2015 = ES2015

    ES6부터 Javascript의 전성기가 시작되었다고 말해도 과언이 아니다. 주요 기능으로 Contant, Scoping, Arrow Functions, Class, Promise 등 이 추가되며 거의 새로운 언어로 대변신 하게 된다. 나는 ES6 이전에 개발을 하지 않아서 어떻게 Scoping없이 코딩을 했는지 가늠이 안 된다.

  3. ES7 = ECMAScript 2016 = ES2016

    제곱연산자로 불리는 Exponentiation Operator, Array.prototype.includes 추가

  4. ES8 = ECMAScript 2017 = ES2017

    Object.values, Object.entries와 같은 유용한 메소드들과 Trailing commas in function 을 허용함으로써 객체 리터럴에서 마지막 콤마를 허용하는 것과 일치시켰다. 그리고 가장 중요한 변화중 하나가 async/await인데 콜백헬의 구원자로 등장했던 ES6Promise를 더욱 간결하게 사용 할 수 있게끔 함으로써 자바스크립트의 비동기 코딩의 복잡도 및 가독성을 크게 향상시킨 기능이다.

  5. ES9 = ECMAScript 2018 = ES2018

    Object rest/spreadES6Spread operatorArray에만 쓸 수 있었던 것을 Object로 확장시키는 기능으로써 모던 자바스크립트에서 아주 유용하게 널리 쓰이는 기능이다. 그 외 Promise의 성공 실패 여부와 상관없이 무조건 실행되는 Promise finally와 비동기 반복 코딩의 복잡도를 줄여준 Async iteration이 있다.

  6. ES10 = ECMAScript 2019 = ES2019

    Object.fromEntries, trimStart/End, flat 등 메소드들이 추가되었다. 2020.04.08 기준으로 최신 브라우저에서는 IE, Opera를 제외하고 거의 지원하고 있다.

TS

Typescript 문서에 What's new 페이지에서 버전별 무엇이 추가되었는지 살펴보았다. 링크

  1. 1.3

    1. protected modifier 가 추가되었다(원래는 없었나?). Java나, C++/C#에서처럼 class내부와 상속받은class(subclasses)에서만 접근 가능한 맴버를 생성 할 수 있다.

    2. Tuple types은 배열의 포지션의 타입을 명시하는 문법.

  2. 1.4

    1. Union types| 파이프라인을 통해 타입들간에 or 연산자 역할을 한다.
    2. Type Aliases 타입스크립트의 타입들을 변수에 담아 사용하는 것을 허용했다.
  3. 1.5

    1. ES6 Modules import/export , re-exporting, default export, Base import구문이 도입되었다.
    2. namespace keyword 인터널 모듈임을 명시하는 네임스페이스가 추가되었다.
    3. 그 외 ES6의 기능들 추가
  4. 1.6

    1. JSX 추가
    2. Intersection types 추가 1.4버전의 Union types 와 반대로 타입들간에 & 심볼로 and 연산 역할을 한다.
  5. 1.7 ~ 2.7

    async/await, object rest/spreadES8/9, 기능 추가

  6. 3.7
    1.optional chainging

현재 3.8 버전이 최신이며 업그레이드 되면서 새로운 기능 추가, tsconfig.json을 통한 컴파일러 옵션 변경을 반복한다.

0개의 댓글