일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- object다형성
- Object
- object 다형성
- maven jar 배포
- 자바스크립트
- map vs multivaluemap
- object 배열
- 졸프
- 자바
- maven 외부 라이브러리 배포
- java object 다형성
- 외부 라이브러리 jar 배포
- 배포시 systempath
- niceid_v1.1.jar maven
- JS
- maven systempath
- Spring
- java
- object tostring
- javascript
- nice_v1.1.jar
- map multivaluemap
- 도커 컨테이너에 mysql
- java object 클래스
- 맥북 port kill
- maven repository jar
- 자바object다형성
- maver 외부 jar 배포
- object배열
- 스프링
- Today
- Total
모래블로그
[JavaScript] ECMAScript와 JavaScript 본문
ECMA International
정보와 통신 시스템을 위한 국제적 표준화 기구이다. - 위키백과 -
ECMA-262
ECMA-262는 Ecma International에 의해 제정된 하나의 기술 규격의 이름으로, 범용 목적의 스크립트 언어에 대한 명세를 담고 있다.
스크립트 언어에 대한 표준을 정의한 규칙이라고 생각할 수 있다.
ECMAScript
ECMAScript는 Ecma International에 의해 ECMA-262 라는 기술 규격에 의해 정의 된 범용 스크립트 언어이다.
ECMAScript specification 이라고도 불리며, 스크립트 언어가 준수해야 하는 규칙, 세부 사항 및 지침을 제공한다.
비유해보자면,
Ecma Internation은 국립국어원,
ECMA-262 는 표준어
ECMAScript는 국립국어원에서 제정한 규칙(발음, 맞춤법 등) 이라고 생각할 수 있다.
종종 보이는 ES6은 ECMAScript 6 이라는 의미로, ECMA-262 표준의 제 6판이라는 말이며,
ES6+는 ES6 이후를 의미한다.
JavaScript
자바스크립트는 ECMAScript 사양을 준수하는 범용 스크리팅 언어이다.
ECMASciprt 문서를 읽게 된다면, 어떻게 스크립트 언어를 만들 수 있는지 알 수 있다.
반면 JavaScript 문서를 읽게 된다면, 어떻게 스크립트 언어를 쓸 수 있는지 알 수 있다.
JavaScript Engine
자바스크립트 엔진은 자바스크립트 코드를 이해하고 실행하는 프로그램 또는 인터프리터 이다.
인터프리터는 소스를 한 번에 기계어로 변환시키는 컴파일러와는 다르게 코드를 한 구문씩 기계어로 변환하면서 프로그램을 실행시키는 방식이다. 그래서 JavaScript Interpreter(자바스크립트 인터프리터) 라고도 불린다.
자바스크립트 엔진에는 여러 종류가 있다.
예를 들면, Google Chrome의 V8, Mozilla Firefox의 SpiderMonkey, Microsoft Edge의 Chakra 등이 있으며,
이 엔진들은 각자 지원되는 ECMAScript 와 수행 능력(Performance)이 다르다.
새로운 ECMAScript 버전이 발표되면 이에 맞춰 각 JavaScript Engine도 사양에 준수하도록 점진적으로 업데이트를 하는데,
이 때 각 브라우저마다 호환성(Cross Browser) 문제가 발생할 수 있다.
특히 Microsoft의 낡은 브라우저인 Internet Explorer가 ES6 사양을 준수하지 않는다.
Babel
이를 해결하기 위해 바벨이 등장했다.
바벨(babel) 이라는 오픈소스 자바스크립트 트랜스 파일러로 이러한 문제를 해결할 수 있다.
바벨은 ES6 사양으로 작성된 코드를 함수적으로 동일한 ES5 코드로 바꿔준다.
대부분의 주요 브라우저는 ES5까지는 지원하기 때문에 개발자들은 브라우저 간 호환성 걱정을 덜 수 있다.
참조
https://tmdrnr96.tistory.com/24
https://wormwlrm.github.io/2018/10/03/What-is-the-difference-between-javascript-and-ecmascript.html
https://ko.wikipedia.org/wiki/Ecma_%EC%9D%B8%ED%84%B0%EB%82%B4%EC%85%94%EB%84%90
'Language > JavaScript' 카테고리의 다른 글
[JavaScript] 클로저(Closure) (0) | 2024.03.14 |
---|---|
[JavaScript] 프로토타입 (1) | 2024.03.12 |
[JavaScript] Generator(제너레이터) (0) | 2024.02.16 |
[JavaScript] 동기, 비동기 (0) | 2024.02.15 |
[JavaScript] 구조 분해 할당 (0) | 2024.02.14 |