Javascrip{filter}t는 매우 이상한 명명 역사를 가지고 있습니다.
이 언어는 1995년에 넷스케이프 내비게이터의 일부로 처음 출시되었으며, 이 언어는 Livescrip{filtering}t라는 이름을 부여했습니다. 1년 후, 당시 자바에 대한 언론의 과대광고를 타기 위해 이름이 임시로 Javascrip{filtering}t로 변경되었습니다(물론 Java와 Javascrip{filtering}t의 관계는 Lei Feng과 Lei Feng Tower의 관계와 같으며, 전혀 관련이 없습니다)
비뚤어진 견과류 농담은 전혀 웃기지 않다
번역자 주: 위키피디아의 Javascrip{filter}t 항목에서 이 역사를 더 자세히 설명합니다
1996년, 넷스케이프는 Javascrip{filtering}t를 ECMA International(유럽 컴퓨터 제조업체 협회)에 표준화를 위해 제출했고, 마침내 새로운 언어 표준인 ECMAscrip{filtering}t를 최종 확정했습니다. 그 이후로 ECMAscrip{filtering}t는 모든 Javascrip{filtering}t 구현의 기반이 되었지만, 역사적·시장적 이유로 (ECMAscrip{filtering}t는 인기 없는 명칭인 것 같습니다...... 실제로 우리는 표준을 호출할 때는 ECMAscrip{filter}t만 사용하며, 이 언어를 호출할 때는 보통 Javascrip{filter}t를 사용합니다.
용어:
- 표준: 다른 것들과 구별되는 것을 정의하는 규칙 집합
- 구현: 표준의 구체적인 구현/실제 관행
하지만 Javascrip{filtering}t 개발자들은 ECMAscrip{filtering}가 도입된 지 15년 동안 크게 변하지 않았고, 많은 실제 구현체가 이미 표준과 매우 다르기 때문에 크게 신경 쓰지 않습니다. 실제로 ECMAscrip{filtering}t 첫 버전 출시 후 곧이어 두 개의 버전이 더 출시되었으나, 1999년 ECMAscrip{filter}t 3 출시 이후로는 10년간 공식 사양에 아무런 변경이 추가되지 않았습니다. 대신 브라우저 벤더들은 자체 언어를 확장하기 위해 분주히 움직이고 있으며, 웹 개발자들은 이 API들을 실험하고 지원할 수밖에 없게 되었습니다. 2009년 ECMAscrip{filter}t 5가 출시된 이후에도 이 새로운 사양들이 브라우저에서 널리 지지받는 데는 몇 년이 걸렸지만, 대부분의 개발자들은 여전히 ECMAscrip{filtering}t 3 스타일의 코드를 작성했고 이를 배울 필요성을 느끼지 않았습니다.
번역자 주: ECMAscrip{filter}t 버전 4의 초안은 너무 공격적이어서 폐기되었으며, Adobe의 Actionscrip{filtering}t 3.0이 ECMAscrip{filtering}t 4판의 유일한 구현체입니다(플래시가 웹을 거의 통합했습니다).
2012년이 되자 상황이 갑자기 변하기 시작했습니다. 구버전 IE에 대한 지원을 종료하려는 움직임이 있으며, ECMAscrip{filter}t 5 (ES5) 스타일의 코드를 작성하는 것이 더 현실적입니다. 동시에 새로운 ECMAscrip{filtering}t 명세가 출시됩니다. 이 시점에서 사람들은 ECMAscrip{filter}t 명세의 버전 지원 측면에서 다양한 Javascrip{filtering}t 구현체를 설명하는 데 익숙해지기 시작했습니다. 이 새로운 표준은 원래 ES라고 불렸습니다. 조화. 2015년, 초안 ECMAscrip{filter}t 명세를 개발한 TC39 위원회는 새로운 표준 정의 시스템을 연 1회로 변경하기로 결정했습니다. 즉, 각 새로운 기능은 승인되면 추가할 수 있게 되었습니다. 이전 명세서는 전체 초안이 완성되고 모든 기능이 정상화된 후에야 최종 확정되는 방식이 아닙니다. 그 결과, ECMAscrip{filtering}t 버전 6은 6월에 발표되기 전에 ECMAscrip{filtering}t 2015(ES2015)로 이름이 변경되었습니다.
데코레이터, 비동기 await, static 클래스 속성 등 여전히 많은 새로운 Javascrip{filter}t 기능이나 문법이 제안되고 있습니다. 이들은 종종 ES7, ES2016 또는 ES라고 불립니다. 다음으로, 하지만 실제로는 제안이나 가능성이라 부를 수 있습니다. 결국 ES2016 명세는 아직 완성되지 않았고, 모두 도입될 수도 있고 아예 도입되지 않을 수도 있습니다. TC39는 제안서를 4단계로 나누며, 각 제안이 현재 어느 단계에 있는지 바벨 웹사이트에서 확인할 수 있습니다.
그렇다면 이 용어들은 어떻게 사용할까요? 다음 목록이 도움이 될 수 있습니다:
- ECMAscrip{filter}t: ECMA International에서 표준화하고 TC39 위원회가 감독하는 언어입니다. 주로 표준 자체를 지칭하는 데 사용됩니다.
- Javascrip{filtering}t: ECMAscrip{filtering}t 표준의 다양한 구현체를 가장 일반적으로 부르는 명칭입니다. 이 용어는 ECMAscrip{filtering}t 명세의 특정 버전에만 국한되지 않으며, ECMAscrip{filtering}t의 어떤 버전이든 다양한 구현 방식으로 사용할 수 있습니다.
- ECMAscrip{filtering}t 5 (ES5): ECMAscrip{filtering}t의 5판으로, 2009년에 표준화되었습니다. 이 사양은 모든 최신 브라우저에서 비교적 완전하게 구현되어 있습니다.
- ECMAscrip{filter}t 6 (ES6) / ECMAscrip{filter}t 2015 (ES2015): ECMAscrip{filtering}t 6판은 2015년에 개정 및 표준화되었습니다. 이 표준은 대부분의 최신 브라우저에서 부분적으로 구현되어 있습니다. 이 호환성 표를 참고하시면 다양한 브라우저와 도구가 어떻게 구현되는지 확인할 수 있습니다.
- ECMAscrip{filter}t 2016: 내년 여름 출시 예정인 ECMAscrip{filter}t 개정판의 예상 7판입니다. 이 사양에 포함될 구체적인 기능은 아직 최종 확정되지 않았습니다
- ECMAscrip{filter}t 제안: ECMAscrip{filter}t 표준의 향후 버전에 포함될 수 있는 기능 및 구문 제안은 스트로우맨, 제안, 초안, 후보, 완료의 다섯 단계를 거칩니다.
이 블로그 내내 저는 현재 버전의 ECMAscrip{filtering}t를 ES6(대부분의 개발자들이 가장 익숙한 이름이기 때문에), 내년 사양을 ES2016(ES6/ES2015와 달리 표준화 과정 전반에 걸쳐 사용됨), 그리고 아직 최종 확정되거나 초안이 작성되지 않은 미래 언어 개념들을 ECMAscrip{filtering}t 제안서로 언급할 것입니다. Javascrip{filter}t proposal. 혼란을 일으킬 수 있는 모든 경우에 이 기사를 최대한 따라가겠습니다.