>웹 프론트엔드 >JS 튜토리얼 >ECMAScript6이란 무엇입니까?

ECMAScript6이란 무엇입니까?

零下一度
零下一度원래의
2017-06-23 09:33:051818검색

ECMAScript 6.0(이하 ES6)은 JavaScript 언어의 차세대 표준으로 2015년 6월 공식 출시되었습니다. 그 목표는 JavaScript 언어를 사용하여 복잡한 대규모 애플리케이션을 작성하고 엔터프라이즈 수준의 개발 언어가 되도록 하는 것입니다.


1. ECMAScript와 JavaScript의 관계


일반적인 질문은 ECMAScript와 JavaScript의 관계는 무엇입니까?

이 문제를 명확히 하려면 기록을 검토해야 합니다. 1996년 11월, JavaScript 창시자인 Netscape는 이 언어가 국제 표준이 될 수 있기를 희망하면서 JavaScript를 국제 표준화 기구 ECMA에 제출하기로 결정했습니다. 이듬해 ECMA는 브라우저 스크립트 언어의 표준을 규정하고 이 언어를 ECMAScript라고 부르는 표준 문서 No. 262(ECMA-262)의 첫 번째 버전을 출시했습니다.

이 표준은 처음부터 JavaScript 언어용으로 개발되었지만 JavaScript라고 부르지 않는 데에는 두 가지 이유가 있습니다. 하나는 상표입니다. Java는 라이센스 계약에 따라 Netscape만이 합법적으로 JavaScript라는 이름을 사용할 수 있으며 JavaScript 자체는 Netscape에 의해 상표로 등록되었습니다. 둘째, 나는 이 언어의 개발자가 Netscape가 아닌 ECMA임을 보여주고 싶습니다. 이는 이 언어의 개방성과 중립성을 보장하는 데 도움이 될 것입니다.

따라서 ECMAScript와 JavaScript의 관계는 전자가 후자의 사양이고 후자는 전자의 구현이라는 것입니다(다른 ECMAScript 방언에는 Jscript 및 ActionScript가 포함됩니다). 일상적인 상황에서는 이 두 단어를 서로 바꿔서 사용할 수 있습니다.


2. ES6과 ECMAScript 2015


ECMAScript 2015(ES2015라고도 함)의 관계도 자주 보입니다. ES6과 어떤 관련이 있습니까?

2011년 ECMAScript 버전 5.1이 출시된 후 버전 6.0 개발이 시작되었습니다. 따라서 ES6이라는 단어의 원래 의미는 JavaScript 언어의 다음 버전을 의미합니다.

하지만 이번 버전에서는 문법적인 기능이 너무 많이 도입되고, 개발 과정에서 많은 기관과 개인이 계속해서 새로운 기능을 제출하고 있기 때문입니다. 하나의 릴리스에 도입될 모든 기능을 포함하는 것은 불가능하다는 것이 금방 분명해졌습니다. 기존 접근 방식은 버전 6.0을 먼저 출시한 다음 잠시 후 버전 6.1, 버전 6.2, 버전 6.3 등을 출시하는 것입니다.

그러나 표준 설정자는 이것을 원하지 않습니다. 그들은 표준 업그레이드를 정규 프로세스로 만들기를 원합니다. 누구나 언제든지 새로운 구문에 대한 제안을 표준 위원회에 제출할 수 있으며, 표준 위원회는 매월 회의를 열어 제안이 수용 가능한지, 어떤 개선이 필요한지 평가합니다. 많은 회의를 거친 후 제안이 충분히 성숙해지면 공식적으로 표준에 들어갈 수 있습니다. 이는 표준 버전 업그레이드가 매달 변경되는 롤링 프로세스가 됨을 의미합니다.

표준위원회는 마침내 표준이 매년 6월에 그 해의 공식 버전으로 공식 출시되기로 결정했습니다. 앞으로는 이 버전을 기반으로 변경이 이뤄질 예정이며, 내년 6월까지는 자연스럽게 초안이 새해 버전이 될 예정이다. 이렇게 하면 이전 버전 번호는 필요하지 않고 연도 스탬프만 필요합니다.

ES6의 첫 번째 버전은 2015년 6월에 출시되었으며 공식 명칭은 "ECMAScript 2015 Standard"(줄여서 ES2015)입니다. 2016년 6월, 약간 수정된 "ECMAScript 2016 Standard"(줄여서 ES2016)가 예정대로 출시되었습니다. 이 버전은 둘 사이의 차이가 매우 작기 때문에(includes 메소드와 인덱스만) ES6.1 버전이라고 볼 수 있습니다. 배열 인스턴스의 추가) 연산자), 기본적으로 동일한 표준입니다. 계획에 따르면 ES2017 표준은 2017년 6월에 출시될 예정입니다.

따라서 ES6은 역사적 용어이자 일반적인 용어입니다. ES2015, ES2016, ES2017 등을 포괄하는 버전 5.1 이후의 JavaScript의 차세대 표준을 의미하며, ES2015는 구체적으로 출시된 버전을 지칭하는 공식 명칭입니다. 그 해의 언어 표준의 공식 버전입니다. 이 책에서 ES6을 언급할 때는 보통 ES2015 표준을 지칭하지만, 때로는 일반적으로 "차세대 자바스크립트 언어"를 지칭하기도 합니다.


3. 문법 제안 승인 절차


누구나 표준 위원회(TC39 위원회라고도 함)에 언어 표준 변경을 요청할 수 있습니다.

새로운 구문은 제안부터 공식적인 표준이 되기까지 5단계를 거쳐야 합니다. 각 단계의 변경 사항은 TC39 위원회의 승인이 필요합니다.

  • 0단계 - Strawman(발표 단계)

  • 1단계 - 제안(댓글 모집 단계)

  • 2단계 - 초안(초안 단계)

  • 3단계 - 후보(후보 단계) )

  • 4단계 - 완료

제안서가 2단계에 들어갈 수 있는 한, 향후 공식 표준에 포함될 것이 거의 확실합니다. ECMAScript에 대한 모든 현재 제안은 TC39의 공식 웹사이트 Github.com/tc39/ecma262에서 볼 수 있습니다.

이 책의 집필 목표 중 하나는 ECMAScript 언어의 최신 진행 상황을 추적하고 버전 5.1 이후의 모든 새로운 구문을 소개하는 것입니다. 표준에 포함될 명확하거나 유망한 새로운 구문이 소개됩니다.


4. ECMAScript의 역사


ES6는 처음부터 최종 릴리스까지 15년이 걸렸습니다.

앞서 언급했듯이 ECMAScript 1.0은 1997년에 출시되었습니다. 이후 2년 동안 ECMAScript 2.0(1998년 6월)과 ECMAScript 3.0(1999년 12월)이 지속적으로 출시되었습니다. 버전 3.0은 업계에서 널리 지원되었으며 JavaScript 언어의 기본 구문을 확립했으며 후속 버전에서 완전히 상속되었습니다. 오늘날까지 초보자가 JavaScript를 배우기 시작하면 실제로 버전 3.0 구문을 배우는 것입니다.

2000년에 ECMAScript 4.0이 만들어지기 시작했습니다. 이 버전은 결국 실패했지만 대부분의 콘텐츠는 ES6에서 상속되었습니다. 따라서 ES6 공식화의 시작점은 실제로 2000이다.

ES4는 왜 통과하지 못했나요? 이 버전은 너무 급진적이고 ES3으로 완전히 업그레이드되었기 때문에 표준 위원회의 일부 구성원은 이를 받아들이기를 꺼렸습니다. ECMA의 기술위원회 39(TC39)는 ECMAScript 표준 제정을 담당하고 있으며 그 구성원에는 Microsoft, Mozilla, Google과 같은 주요 기업이 포함되어 있습니다.

2007년 10월 ECMAScript 4.0의 초안 버전이 출시되었으며, 원래 정식 버전은 다음 해 8월에 출시될 예정이었습니다. 그러나 이 기준을 채택할지 여부에 대해서는 당사자들 사이에 심각한 차이가 있다. Yahoo, Microsoft, Google이 이끄는 대기업은 JavaScript의 대규모 업그레이드에 반대하고 JavaScript 창시자인 Brendan Eich가 이끄는 Mozilla는 현재 초안을 주장합니다.

2008년 7월, 다음 버전에 어떤 기능을 포함할지에 대한 너무 많은 차이와 치열한 논쟁으로 인해 ECMA는 ECMAScript 4.0의 개발을 중단하고 기존 기능의 개선과 관련된 일부를 릴리스하기로 결정했습니다. , 다른 급진적인 아이디어가 확장되어 이후 버전에 적용되었습니다. 컨퍼런스 분위기로 인해 이 버전의 프로젝트 코드명은 Harmony였습니다. 회의 직후 ECMAScript 3.1은 ECMAScript 5로 이름이 변경되었습니다.

2009년 12월 ECMAScript 버전 5.0이 공식 출시되었습니다. Harmony 프로젝트는 두 개로 나뉘었는데, 좀 더 실현 가능한 아이디어는 JavaScript.next로 명명되어 계속 개발되었으며, 나중에 ECMAScript 6으로 발전하여 JavaScript.next.next로 간주되어 향후 개발될 예정입니다. 다시 시작하는 것을 고려해 보세요. TC39 위원회의 전반적인 고려 사항은 ES5가 기본적으로 ES3과의 호환성을 유지하고 주요 구문 수정 및 새로운 기능이 JavaScript.next에 의해 완료된다는 것입니다. 당시 JavaScript.next에서는 ES6을 참조하였고, 6번째 버전이 출시된 이후에는 ES7을 참조하였습니다. TC39의 판단에 따르면 ES5는 2013년 중반에 JavaScript 개발의 주류 표준이 될 것이며 향후 5년 동안 이 위치를 유지할 것입니다.

2011년 6월 ECMAscript 버전 5.1이 출시되어 ISO 국제 표준(ISO/IEC 16262:2011)이 되었습니다.

2013년 3월 ECMAScript 6 초안이 동결되었으며 새로운 기능이 추가되지 않습니다. ECMAScript 7에 새로운 기능이 추가될 예정입니다.

2013년 12월 ECMAScript 6 초안이 출시되었습니다. 그런 다음 모든 당사자의 피드백을 듣기 위한 12개월 간의 토론 기간이 이어집니다.

2015년 6월 ECMAScript 6이 공식적으로 채택되어 국제 표준이 되었습니다. 2000년부터 계산하면 15년이 지났습니다.


6.Babel transcoder


Babel은 ES6 코드를 ES5 코드로 변환하여 기존 환경에서 실행할 수 있도록 해주는 널리 사용되는 ES6 트랜스코더입니다. 이는 기존 환경이 이를 지원하는지 여부에 대해 걱정하지 않고 ES6에서 프로그램을 작성할 수 있음을 의미합니다. 여기에 예시가 있습니다

1 // 转码前2 input.map(item => item + 1);3 4 // 转码后5 input.map(function (item) {6   return item + 1;7 });

위의 원본 코드는 화살표 함수를 사용하는데, Babel은 이를 화살표 함수를 지원하지 않는 JavaScript 환경에서 실행될 수 있는 일반 함수로 변환합니다.

위 내용은 ECMAScript6이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.