오늘은 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 등의 버전들도 새로운 기능을 꾸준히 도입하여 자바스크립트의 입지를 넓히고 있다.
'Computer Programming > Javascript' 카테고리의 다른 글
타입스크립트(TypeScript)의 특징 (0) | 2023.06.27 |
---|---|
자바스크립트의 Scope 스코프 (렉시컬 환경, 호이스팅, var, let과 const) (0) | 2023.06.19 |
Browser - 브라우저의 구조와 렌더링 과정 (0) | 2023.06.15 |
자바스크립트의 비동기 처리 동작 원리 | 콜스택, 이벤트루프, Promise, fetch, async/await (1) | 2023.06.14 |
JavaScript 숫자야구 - slice(), splice(), filter()의 차이와 문제점 (0) | 2023.06.13 |