제목 : ECMAScript 2015 (ES6) 와 그 이후
Node.js 는 V8 의 현대 버전을 기반으로 구축되었습니다.
이 엔진의 최신 릴리즈를 유지함으로서,
우리는 JavaScript ECMA-262 상세내역 의 새로운 기능이
Node.js 개발자들에게 적절한 시간에 제공된다고 보장합니다.
게다가 성능과 안정성 또한 지속됩니다.
모든 ECMAScript 2015 (ES6) 기능들은,
shipping(운송), staged(준비, 기다림 단계 비슷), progress(진행) 이라는 세 그룹으로 분리됩니다.
Shipping - 운송, 배송
V8 에서 안정되었다고 고려하는 모든 운송, 배송 기능들은 Node.js 에서 기본 기능으로 변했으며,
어떠한 유형의 런타임 플래그도 필요하지 않습니다.
Shipping 기능들은 런타임 실행시 어떠한 옵션이나 명령어가 필요하지 않으며,
기본적으로 적용되는 기능이라고 말하는것.
Staged - 단계란 의미보다는 "거의 준비됨" 에 가까운듯.
Staged 기능들은 거의 완성된 기능들이지만,
V8 팀에서는 안정적이라고 고려되지 않으며,
런타임 시 --harmony
플래그가 필요합니다.
In Progress - 진행중
In Progress 기능들은 각각 그들의 harmony 플래그로 개별적으로 활성화 될 수 있으며,
테스팅 목적이 아니라면 이는 권장되지 않습니다.
참고 할 것 :
이러한 플래그는 V8 에 의해 표출되며, 지원 중단 공지사항 없이 잠재적으로 변할 수 있습니다.
어떤 기능이 어떠한 Node.js 버전에 기본적으로 탑재(ship) 되나요?
웹사이트 node.green 은,
kangax's 의 호환 테이블을 기반으로 다양한 Node.js 버전에서,
어떤 ECMAScript 기능들이 지원되는지 전체적인 배경을 제공 해 줍니다.
어떤 기능들은 In Progress 에 속하나요?
새로운 기능들은 V8 엔진에 지속적으로 추가됩니다.
일반적으로 말할 때, 이러한 신기능들은 미래의 Node.js 릴리즈에 탑재된다고 예상합니다.
물론 시기는 알 수 없습니다.
--v8-options
인자를 통해 각각의 Node.js 릴리즈에서 사용이 가능한
In Progress 기능들을 나열 할 수 있습니다.
하지만 이들은 V8 의 완전하지 않으며, 망가져 있을 수도 있는 기능들일 수도 있기 때문에,
리스크를 생각하고 이들을 사용하기를 바랍니다 :
$ node --v8-options | grep "in progress"
--harmony 플래그를 활용하도록 내 인프라를 설정했다면, 이것을 없애야 할까요?
Node.js 에서의 --harmony
플래스의 현재 행동 양식은,
오로지 staged 기능들만 가능합니다.
결국, 이는 현재 --es_staging
과 동의어입니다.
위에서 말했듯이,
이들은 완성되었지만, 아직 안정적이라고 고려되지 않는 기능입니다.
만약 당신이 특히 프로덕션 환경에서 안전하게 만들고 싶다면,
staged 기능들이 V8 엔진에 기본으로 탑재 될 때 까지,
이 런타임 플래그는 제거하는 것을 고려하세요.
만약 당신이 이 플래그를 활성화한다면,
당신은 앞으로의 Node.js 업그레이드에서 당신의 코드가 망가지는 것에 대비해야 합니다.
왜냐면 V8 은 그들의 시멘틱을 표준에 더 가깝게 변경하기 때문입니다.
Node.js 는 프로세스 전역 오브젝트를 통해 특정 바이너리와 함께 제공되는,
모든 의존성과 각 버전을 나열하는 간단한 방식을 제공합니다.
V8 엔진의 경우 터미널에 다음을 입력하여 버전을 검색하세요 :
$ node -p process.versions.v8
'Node.js > Node.js 공식문서' 카테고리의 다른 글
WebAssembly 와 Node.js (0) | 2024.09.20 |
---|---|
Node.js 의 NODE_ENV 에 따른 차이점 (0) | 2024.09.19 |
NPM 패키지 매니저에 대한 소개 (2) | 2024.09.17 |
V8 자바스크립트 엔진 (4) | 2024.09.15 |
Node.js 공식문서 - Node.js 와 브라우저 간의 차이점 (0) | 2024.09.14 |