Categories: 기본

자바스크립트 버전별 특징 총정리(2025)

자바스크립트(JavaScript)는 웹 개발에서 필수적인 프로그래밍 언어로, 꾸준한 업데이트를 통해 성능과 기능이 향상되고 있습니다. 특히 ECMAScript(ES) 표준을 기반으로 매년 새로운 기능이 추가됩니다.

이번 글에서는 자바스크립트의 주요 버전과 각 버전별 특징을 정리해보겠습니다.


1. 자바스크립트의 역사와 ECMAScript 표준

자바스크립트(JavaScript)란?

  • 1995년 넷스케이프(Netscape)에서 웹 브라우저용 스크립트 언어로 개발
  • 웹 페이지의 동적 기능(애니메이션, 이벤트 처리 등)을 담당
  • 현재 **브라우저(Chrome, Edge, Firefox, Safari)**뿐만 아니라 **서버(Node.js)**에서도 사용됨

ECMAScript(ES)란?

  • 자바스크립트의 표준화된 버전으로, ECMA-262에서 정의
  • 2015년부터 매년 새로운 기능을 추가

📌 자바스크립트와 ECMAScript는 같은 개념이 아니지만, 일반적으로 동일한 의미로 사용됨


2. 자바스크립트 주요 버전 및 특징 정리

버전출시 연도주요 특징
ES31999년try-catch 예외 처리, do-while, switch, getter/setter
ES52009년strict mode, JSON 지원, Object.defineProperty()
ES6 (ES2015)2015년let, const, arrow function, class, Promise 도입
ES7 (ES2016)2016년Array.prototype.includes(), Exponentiation operator (**)
ES8 (ES2017)2017년async/await, Object.entries(), Object.values()
ES9 (ES2018)2018년Rest/Spread, Promise.finally(), 비동기 이터레이터
ES10 (ES2019)2019년flat(), flatMap(), Object.fromEntries()
ES11 (ES2020)2020년nullish coalescing(??), optional chaining(?.), BigInt 지원
ES12 (ES2021)2021년replaceAll(), Promise.any(), 논리 할당 연산자
ES13 (ES2022)2022년at(), top-level await, class fields
ES14 (ES2023)2023년Array findLast(), Symbol.metadata, import attributes
ES15 (ES2024 예상)2024~2025년Set operations (union, intersection), async context tracking

3. 주요 ECMAScript 버전별 상세 기능

🔹 ES3 (1999년) – 초창기 버전

try-catch 예외 처리 도입
do-while, switch 문 추가
getter, setter 지원

📌 초기 브라우저에서 동작했던 가장 널리 사용된 버전


🔹 ES5 (2009년) – 현대적인 자바스크립트의 시작

"use strict"; (엄격 모드) 도입
JSON 지원 (JSON.parse(), JSON.stringify())
Object.defineProperty()로 객체 속성 제어 가능

"use strict";  
let obj = { a: 1 };  
Object.defineProperty(obj, "b", { value: 2, writable: false });  
console.log(obj.b); // 2  
obj.b = 3; // 에러 발생 (strict mode)  

📌 IE9 이상에서 지원되며, 안정적인 웹 개발이 가능해짐


🔹 ES6 (2015년) – 가장 큰 변화 (현대 JS의 기준)

let, const 키워드 추가 (블록 스코프)
Arrow function (=>) 도입
Class 문법 추가
Promisedefault parameter 지원

const add = (a, b) => a + b;  
console.log(add(5, 3)); // 8  

📌 ES6 이후부터 자바스크립트는 현대적인 개발 패턴을 따르게 됨


🔹 ES7 (2016년) – 작은 개선

Array.prototype.includes() 메서드 추가
** (지수 연산자) 도입

console.log([1, 2, 3].includes(2)); // true  
console.log(2 ** 3); // 8  

📌 간단하지만 유용한 연산 기능 추가


🔹 ES8 (2017년) – 비동기 프로그래밍 개선

async/await 지원
Object.entries()Object.values() 추가

async function fetchData() {  
  let response = await fetch("https://api.example.com/data");  
  let data = await response.json();  
  console.log(data);  
}  

📌 비동기 코드가 훨씬 간결하고 직관적으로 변경됨


🔹 ES9 ~ ES12 (2018~2021년) – 성능 및 문법 개선

Promise.finally() (ES9)
Object.fromEntries() (ES10)
nullish coalescing(??)optional chaining(?.) (ES11)
replaceAll(), Promise.any() (ES12)

let user = { profile: { name: "Alice" } };  
console.log(user.profile?.name ?? "Guest"); // "Alice"  

📌 선택적 체이닝(?.)과 널 병합 연산자(??)는 코드 가독성을 높여줌


🔹 ES13 ~ ES15 (2022~2025년) – 최신 기능 및 예상 업데이트

Array.at() (ES13)
import attributes (ES14)
Set operations (union, intersection) (ES15 예상)

let arr = [10, 20, 30];  
console.log(arr.at(-1)); // 30  

📌 배열 조작이 더 직관적으로 개선됨


4. 최신 자바스크립트 버전을 학습하는 방법

MDN 웹 문서https://developer.mozilla.org/
ECMA 공식 문서https://tc39.es/
Chrome V8 블로그 – 최신 엔진 업데이트 확인 가능

📌 최신 브라우저(Chrome, Edge, Firefox)에서는 ES6+ 버전이 기본적으로 지원되므로 최신 기능을 활용하는 것이 좋습니다.


5. 마무리

자바스크립트는 ECMAScript(ES) 표준을 기반으로 매년 새로운 기능이 추가되며, 최신 버전을 학습하는 것이 중요합니다.

💡 자바스크립트 버전 요약
✅ ES5 (2009) – "use strict";, JSON 지원
✅ ES6 (2015) – let/const, class, Promise, arrow function
✅ ES8 (2017) – async/await, Object.entries()
✅ ES11 (2020) – nullish coalescing(??), optional chaining(?.)
✅ ES14 (2023) – Array findLast(), import attributes

앞으로도 자바스크립트의 최신 업데이트를 꾸준히 학습하여 더 효율적인 코드 작성이 가능하도록 준비해 보세요! 🚀💡

myorippoda52

Recent Posts

프린터 오류 0x0000011b 발생 시 해결 방법

Windows에서 프린터를 공유하여 사용할 때 0x0000011b 오류가 발생할 수 있습니다. 이 오류는 주로 Windows 보안…

3개월 ago

윈도우 폴더 0x80004001 오류 발생 시 대처방법, 치료방법

윈도우에서 파일을 복사하거나 폴더를 이동할 때 0x80004001 오류가 발생하는 경우가 있습니다. 이 오류는 "지원되지 않는…

3개월 ago

엑셀 365 시트 빠르게 이동하는 방법

엑셀 365에서 여러 개의 시트를 사용하다 보면 특정 시트로 빠르게 이동해야 할 때가 많습니다. 기본적인…

3개월 ago

지구의 생명체는 어디에서 왔을까? 최신의 연구 결과를 알아보자 (2024 최신본)

지구의 생명체는 어디에서 왔을까? 이는 인류가 오랫동안 고민해 온 근본적인 질문입니다. 생명의 기원에 대한 다양한…

3개월 ago

연구 리서치하는 방법, 알아야할 주의사항들 총정리

연구 리서치하는 방법, 알아야할 주의사항들 총정리 현대 사회에서 연구 리서치는 필수적인 과정입니다. 논문 작성, 프로젝트…

3개월 ago

주민등록 등본과 초본의 차이점 알아보자, 각각의 쓰임새 정리

주민등록 등본과 초본의 차이점 알아보자, 각각의 쓰임새 정리 주민등록 등본과 초본은 모두 주민등록 정보를 증명하는…

3개월 ago