WIL - JS ECMAScript(ES)란? ES5와 ES6의 주요 발전
오늘은 JS ECMAScript의 정의와 발전 과정, 특히 주요한 발전이었던 ES5와 ES6에 대해 공부했다.
JavaScript가 웹 개발을 위해 가장 일반적으로 사용되는 '언어'라면 ES는 이 JavaScript의 기능과 문법, 객체 모델을 정의하고 있는 규격, 표준이라고 할 수 있다.
ES5는 2009년에 출시된 ECMAScript 5의 줄임말로, JavaScript에 많은 개선을 가져온 주요한 규격이다.
1. ES5
- strict mode (엄격 모드)의 도입 : 코드 자성의 실수나 잠재적인 오류를 방지하기 위한 규칙 도입
- 배열 메소드 추가: forEach, map, filter, reduce 메소드
- JSON객체
- bind 메소드 등
ES6는 2015년에 출시된 ECMAScript 2015의 줄임말고 자바스크립트에 많은 혁신과 발전을 가져왔다. 주요 발전 중 하나는 스코프이다.
2. ES6
- let과 const의 도입: 블럭 범위 변수 선언 지원
- 화살표 함수('=>') : 더 간결한 함수 표현식을 작성할 수 있게 되었다. 이 화살표 함수는 함수 컨텍스트 내에서 this를 자동으로 바인딩 한다. 그리고 function 키워드보다 짧은 문법으로 함수를 정의할 수 있다.
- 클래스: 프로토 타입 기반 상속을 간결하게 작성할 수 있는 클래스 문법을 도입했다. class 키워드로 클래스를 정의하고, constructor 메소드로 객체 초기화를 수행할 수 있다.
- 템플릿 리터럴: 백틱으로 감싸진 문자열을 작성할 수 있고 여러 줄에 걸쳐 문자열을 작성할 수 있다.
- destructuring 할당: 배열이나 객체의 속성을 추출하여 변수에 바로 할당할 수 있는 문법이다.
- Promise 객체: 비동기 작업의 성공 또는 실패를 처리하기 위한 표준화된 방법을 제공한다.
- Generator 함수: 'function'키워를 사용하여 제너레이터 함수를 정의할 수 있다. 제너레이터는 실행을 중지하고 재개할 수 있는 함수로, 비동기 코드 작성을 간소화하는데 유리하다.
ES6에서 도입된 개선사항은 자바스크립트의 가독성과 유지 보수성, 개발 생산성을 더욱 향상 시켰다. 이후 ES2020, 2021 등의 버전들도 새로운 기능을 꾸준히 도입하여 자바스크립트의 입지를 넓히고 있다.