Node.js 7.0.0 버전을 릴리스하면서 V8 자바스크립트 엔진이 5.1에서 최신 안정화 버전인 5.4로 업그레이드되었습니다. 이번 업그레이드는 새로운 언어 기능과 향상된 성능을 제공합니다.
새로운 ECMAScript 기능
지수 연산자 (ES2016)
이제 **
연산자를 사용해 좌항을 우항으로 제곱할 수 있습니다. 예:
1 | const maxInt = 2**32 - 1; // Equivalent to: Math.pow(2, 32) - 1 |
Object.values / Object.entries (ES2017)
Object.keys
를 보완하는 두 개의 새로운 정적 메서드는 각각 열거가능한 자체 속성 값 또는 항목(키와 값의 두 요소로 된 배열)의 배열을 반환합니다. 예:
1 | const obj = { |
Object.getOwnPropertyDescriptors (ES2017)
객체의 각 키와 그에 해당하는 속성 기술자(property descriptor)를 포함한 객체를 반환합니다. 예:
1 | const obj = { |
성능과 메모리 최적화
From V8 5.2
다음을 포함하는 자바스크립트 내장 기능 개선:
isArray
메서드와 같은Array
연산자in
연산자Function.prototype.bind
From V8 5.3
- 새로운 Ignition 인터프리터는 이제 완전한 기능을 가지며
--ignition
플래그로 테스트할 수 있습니다. 더 많은 정보는 V8 엔진 팀의 블로그 글을 참고하세요. - 가비지 컬렉터가 향상되었으며 가득 찬 가비지 컬렉션 일시중지 시간을 최대 25%까지 줄일 수 있습니다.
- ES6 Promise의 성능 개선
From V8 5.4
- 저수준 메모리 장치에서의 온-힙 피크 메모리 소비를 최대 40%까지 줄였습니다.
- V8 엔진의 파서 최적화로 오프-힙 피크 메모리 소비를 최대 20%까지 줄이고 시작 성능을 향상시킬 수 있었습니다.