[Week2/WIL] JavaScript의 ES5, ES6

👩‍💻💖·2022년 7월 24일

The Innovation Camp

목록 보기
2/9
post-thumbnail

WIL keyword : JavaScript의 ES5, ES6

🌸 What I felt this week

이번주는 알고리즘을 푸는 주였는데, 인강 듣는 시간이였지만 제대로 지냈는지는 모르겠다. 반 신청했을 때, 달리기 반으로 신청했으면 어땠을까라는 생각도 드는 주 였다. 사실 정신이 없어서 신청 할 때 놓치긴 했지만 말이다. 그리고 금요일 부터 조장을 맡게 되었는데, 팀원들을 괴롭히는 팀장이 되었다. 허허, 기본적인 미팅 횟수만 5번이당.
여담으로 나도 글을 잘 자세히 쓰고 싶은데, 글쓰기 능력이 현저히 떨어지는 것 같다.

👑 WIL (Weekely I Learned)

  • ECMAScript
    ECMA스크립트(ECMAScript, 또는 ES)란, Ecma International이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말한다. 자바스크립트를 표준화하기 위해 만들어졌다. 액션스크립트와 J스크립트 등 다른 구현체도 포함하고 있다. ECMA스크립트는 웹의 클라이언트 사이드 스크립트로 많이 사용되며 Node.js를 사용한 서버 응용 프로그램 및 서비스에도 점차 많이 쓰이고 있다.
    ECMA스크립트는 ECMA-262에 의해 표준화된 언어의 이름이다. 자바스크립트와 J스크립트는 모두 ECMA스크립트와의 호환을 목표로 하면서, ECMA 규격에 포함되지 않는 확장 기능을 제공한다.

    Fun fact/// Ecma International은 사실 European Computer Manufacturers Association 에서 1994년에 Ecma International – European association for standardizing information and communication systems로 변경이 된 것이다.

    사실, Ecma262는 JavaScript언어가 나오고 나서, 이 후 그 언어를 서포팅 하게 나온 기준이라고 할 수 있으며 서로 상호보완적인 관계를 가지고 있다.
    ES5, ES6란 ECMA-262의 edtion의 이름이며, 현재 ECMA의 기준은 12(2021년)까지 나와 있는 상태이다. 하지만, 아직까진 대부분 ES5, ES6 기준을 혼합하여 사용하고 있다.

  • ES5 (2009) 주요 특징
"use strict"
String[number] access
Multiline strings
String.trim()
Array.isArray()
Array forEach()
Array map()
Array filter()
Array reduce()
Array reduceRight()
Array every()
Array some()
Array indexOf()
Array lastIndexOf()
JSON.parse()
JSON.stringify()
Date.now()
Date toISOString()
Date toJSON()
Property getters and setters
Reserved words as property names
  • ES6 (2015) 주요 특징
The let keyword
The const keyword
Arrow Functions
For/of
Map Objects
Set Objects
Classes
Promises
Symbol
Default Parameters
Function Rest Parameter
String.includes()
String.startsWith()
String.endsWith()
Array.from()
Array keys()
Array find()
Array findIndex()

  • ES5, ES6의 차이점
    위의 주요 기능을 봐서 알겠지만, 우선 var가 아닌 let과 const 키워드가 추가됨으로써 변수를 정할 때, 지역변수 개념이 강화 되며 스코프 단위의 경계가 조금 뚜렷해졌다. 또한 var는 같은 이름으로 선언이 또 가능하였지만, let은 중복으로 선언할 수 없게 됨으로써 코드의 안정성이 더해졌다. 또한, Class 개념이 도입되었다.

  • ES6 => ES5 변환

    • 간단히 필요한 것은 아래 사이트 가서 변환 할 수 있다.
      https://es6console.com/
    • 하지만 프로젝트 단위로 변경하려면 바벨을 이용하여, 변환하면 된다고 한다.
      https://babeljs.io/

ref. https://ko.wikipedia.org/wiki/ECMA%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8, https://www.ecma-international.org/publications-and-standards/standards/ecma-262/

0개의 댓글