공부/WIL

JavaScript ES, ES5 ES6 차이

뀨뿌뀨뿌 2023. 6. 19. 00:56

1.  JavaScript ES란?

ⅰ.  ECMAScript(or ES)

  • Ecma Internationl 이 ECMA-262 규격에 따라 정의하고 잇는 표준화된 스크립트 프로그래밍 언어를 말함]
  • 자바스크립트를 표준화하기 위해서 만들어짐
  • ECMA스크립트는 웹의 클라이언트 사이드 스크립트로 많이 사용되며 Node.js를 사용한 서버 응용 프로그램 및 서비스에도 점차 많이 사용하고 있음
  • 역사
    • 1993. 03 넷스케이프에서 넷스케이프 네비게이터 2.0을 출시함녀서 자바스크립트를 지원하기 시작
    • 웹페이지 동작을 향상시키는 언어로서 자바스크립트의 성공은 마이크로소프트가 이와 적돵히 호환되는 J스크립트를 개발하는 계기가 됨
    • J스크립트는 1996년 8월 인터넷 익스플로러 3.0에 포함되서 출시됨
    • 넷스케이프는 표준화 규격을 위해 자바스크립트 기술 규격을 Ecma 인터내셔널에 제출하였고, 이 규격에 대한 작업은 ECMA-262의 이름으로 1996년 11월부터 시작됨
  • ECMA스크립트는 ECMA-262에 의해 표준화된 언어의 이름이고 자바스크립트와 J스크립트는 모두 ECMA 스크립트와 호환을 목표로 하면서, ECMA 규격에 표함되지 않는 확장 기능을 제공함

ⅱ. Ecma International(Ecma 이터내셔널)

  • Ecma 인터내셔널은 정보통신에 대한 표준을 제정하는 비영리 표준화 기구

ⅲ. ECMA-262

  • Ecma 인터내셔널에 의해 제정된 하나의 기술 규격의 이름으로, 범용 목적의 스크립트 언어에 대한 명세를 담고 잇음
  • ECMA-262는 스크립트 언어에 대한 표준을 정의한 규칙!
  • ECMA-262는 표준의 이름이지만, ECMAScript는 ECMA-262에서 정의된 하나의 사양을 의미함

ⅳ.  JavaScript

  • JavaScript 는 ECMAScript의 사양을 따르는 언어
  • ECMAScript는 어떻게 스크립트 언어를 만들수 있는지 알수 있고, JavaScript는 어떻게 스크립트 언어를 쓸 수 있는지 알수 있음

🎈 참조문서

 

JavaScript와 ECMAScript는 무슨 차이점이 있을까? - 재그지그의 개발 블로그

웹 개발에서 JavaScript와 ECMAScript라는 용어가 혼용되어 사용되고 있는 이유와 그 차이점에 대해 알아봅니다.

wormwlrm.github.io

 

2. ES5와 ES6의 차이

ⅰ. 변수 선언

ES5에는 var만 있음 => 재할당과 재선언에 굉장히 자유롭지만 호이스팅 문제가 있음
ES6에는 호이스팅 문제를 해결하기 위해 let, const가 추가됨

ⅱ.  화살표 함수

ES6부터 등장한 함수 선언법

ⅲ. 화살표 함수

ES6부터 등장한 함수의 선언법

ⅳ. 템플릿 리터럴

ES6부터 등장한 백틱(``)으로 문자열을 감싸 표현하는 기능

ⅴ. Default parameter

기본값 함수 매개변수(default function parameter)를 사용하면 값이 없거나 undefined가 전달될 경우 이름붙은 매개변수를 기본값으로 초기화 할 수 있음

// ES5
var person = function(name){
	var name = name || "name"
    return name
} 
// ES6
let person = functiuon(name = "name") {
	return name
}

ⅵ. 클래스

ES6부터 class키워드 사용가능

ⅶ. ES5(2009)

배열에 forEach, map, filter, reduce, some, every와 같은 메서드들이 지원됨
Object에 대한 getter와 setter가 지원됨
JavaScript strict 모드가 지원됨 => 기존에 비해서 엄격하게 문법검사를 진행
과거에는 XML이라는 규격을 사용하다가 json이 인기를 끌면서 json 형식의 자료들을 지원함

ⅷ. ES6(ES 2015)

ES6라고도 하고 ES2015라고도 하는데 두개가 같은 버전임
=> 버전 숫자만 붙이면 갱신되는 ES의 발행의 진행이 보기 어렵다는 이유
     몇년에 한 번씩 발표가 되었지만, ES5이후부터는 빠르게 변화하는 웹 생태계 때문에 1년에 한번씩은 갱신을 하자는 움직임이 생겨나고, 이로 인해 단순한 숫자를 붙이기 보다는 갱신된 연도를 붙여서 새로운 이름을 만들자는 의견들이 생겨나게 됨

이번주에 JS 문법 강의를 들으면서 예전에 공부했던 내용을 정확하게 정리할수 있어서 좋았고 그 내용을 기반으로 알고리즘 문제를 풀기 시작했다
아직까지는 알고리즘 문제를 보고 어떻게 풀어야하는지 고민하는 시간이 많이 걸리지만 더 열심히 문제를 풀어서 문제를 읽고 고민하는 시간을 많이 줄여야 할거 같다.
이번주를 정리하는 느낌으로 자바스크립트의 ES와 ES5, ES6를 정리하고 나니 살짝더 개념이 정리되는 느낌이 들었슴돠....

'공부 > WIL' 카테고리의 다른 글

클론코딩 주차 WIL  (0) 2023.07.31
Axios란?  (0) 2023.07.17
라이프사이클(클래스형 vs 함수형), react hooks  (0) 2023.07.10
state, props, 리액트 리렌더링  (0) 2023.07.03
Virtual DOM, props, state  (0) 2023.06.26