2022. 11. 27. 16:52ㆍ웹 개발/javascript
1. 역사
1996년 3월, 넷스케이프에서 넷스케이프 네비게이터 2.0을 출시하면서 자바스크립트를 지원하기 시작했다.
웹 페이지 동작을 향상시키는 언어로써 JavaScript의 성공은 마이크로소프드가 이와 "적당히" 호환되는 J스크립트를 개발하는 계기가 되었다. J스크립트는 1996년 8월 인터넷 익스플로러(IE) 3.0에 포함되어 출시되었다.
ECMA스크립트(ECMAScript, 또는 ES)의 탄생은 브라우저 전쟁이라고 하는 인터넷 시장에서의 점유율 싸움에서 탄생하였는데, JavaScript와 J스크립트는 비슷해보이지만 둘의 내용이 너무 달라서 같은 기능을 구현하더라도 개발자들이 해야할 일과 시간이 훨씬 늘어가게 되었다. 사용자들을 끌어들이기 위해 이런 저런 기능을 추가하다보니 JavaScript와 JScript는 점점 달라지는 경향을 보였고, JavaScript를 표준화하기 위해 만들어 진 것이 ECMAScript이다.
https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8
자바스크립트 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 자바스크립트JavaScript패러다임프로그래밍 패러다임: 스크립트 언어, 객체 지향 프로그래밍 (프로토타입 기반 프로그래밍), 명령형 프로그래밍, 함수형 프로그
ko.wikipedia.org
https://namu.wiki/w/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%20%EC%A0%84%EC%9F%81#s-3.2
브라우저 전쟁 - 나무위키
이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권
namu.wiki
2. ECMAScript(ES)
ECMA스크립트는 Ecma International이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말한다. 1의 역사의 마지막에서 볼 수 있듯이, JavaScript를 표준화하기 위해 만들어졌으며, 웹의 클라이언트 사이드 스크립트로 많이 사용된다. Node.js를 사용한 서버 응용 프로그램 및 서비스에도 점차 많이 쓰이고 있다.
ECMA-262의 초판은 ECMA 일반 회의에서 1997년 6월 채택되었다.
https://ko.wikipedia.org/wiki/ECMA%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8
ECMA스크립트 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. ECMA스크립트(ECMAScript, 또는 ES[1])란, Ecma International이 ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말한다. 자바스크립트를 표
ko.wikipedia.org
3. 판본


ECMA가 다루는 표준으로, 262가 붙은 ECMA스크립트 언어 규격이 우리가 흔히 부르는 JavaScript이다.
https://ko.wikipedia.org/wiki/Ecma_%EC%9D%B8%ED%84%B0%EB%82%B4%EC%85%94%EB%84%90
Ecma 인터내셔널 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. Ecma 인터내셔널Ecma International약칭Ecma결성1961년목적정보 통신 기술 표준화 연구본부스위스 제네바공식 언어영어웹사이트Ecma 인터내셔널주요 인물요헨 프레드
ko.wikipedia.org
4. ES5? ES6?
ECMAScript 버전은 ES1,ES2,ES3,ES5 및 ES6으로 축약되었으며, 2016년부터 새 버전의 이름은 연도별로 지정된다.
EX) EMCAScript 2016/2017/2018
JavaScript ES5 : ECMAScript 2009는 JavaScript의 첫 번째 주요 개정판이다.
JavaScript ES6 : ECMAScript 2015는 JavaScript의 두 번째 주요 개정판이다.
ECMAScript2015는 ES6 및 ECMAScript6 로도 알려져 있다.
즉, ES5와 ES6은 JavaScript를 발전시키기 위해서 기능추가나 변경점을 추가한 버전업이라고 생각하면 될 것이다.
4-1. ES5(2009)

1. 배열에 forEach, map, filter, reduce, every, som와 같은 메소드들이 지원되었다.
2. Object에 대한 getter와 setter가 지원되었다.
3. Javascript strict모드가 지원되었다.(엄격한 문법 검사 시행)
4. JSON 형식의 자료들을 지원한다.
https://www.w3schools.com/js/js_es5.asp
JavaScript ES5
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
4-2. ES6(ES2015)
이 버전은 ES6라고도 하고 ES2015라고도 하는데 두 개가 같은 버전이고 불리는 이름만 다르다.
기존에 ES는 몇 년에 한번씩 발표하다가 ES5이후 빠르게 변화하는 웹 생태계 때문에 1년에 한번씩 갱신하자는 움직임이 생겼고, 단순한 숫자를 붙이기보다는 갱신된 연도를 붙여서 새로운 이름을 만들자는 의견이 생겨나게 되었다.

1. Hoisting을 개선했다.
- 기존에는 var 키워드를 사용하여 호이스팅이 빈번하게 일어났는데 이를 개선하기 위해 블록 스코프를 가진 let과 const를 추가했다.
2. 화살표 문법을 지원했다. -> 코드의 간결화, this를 바인딩하지 않는다.
3. iterator와 generator 추가.
4. module의 import/export 추가
5. Promise 도입
- JavaScript는 비동기적 언어이기 때문에, callback에 대한 이슈가 많았으나 이부분을 해결할 수 있는 문법을 제공
https://www.w3schools.com/js/js_es6.asp
JavaScript ES6
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
'웹 개발 > javascript' 카테고리의 다른 글
| 6. 객체 (0) | 2022.11.29 |
|---|---|
| for of, for in 문법 (0) | 2022.11.28 |
| 실습 예제 (0) | 2022.11.19 |
| 실행 컨텍스트와 콜 스택, 스코프 체인, 변수 은닉화 (0) | 2022.11.18 |
| 스코프, 호이스팅과 TDZ (0) | 2022.11.18 |