Node.js 0.12에서 사용 가능한 ECMAscript 6 기능
Node.js(0.12)의 새로운 안정적인 릴리스는 최근 Google의 v8 자바스크립트 엔진인 v3.28.73을 업그레이드하여 출시되었습니다.
Node.js ECMAscript 6 하지 않고 js에 6 --harmony 깃발?
ES 6 기능을 나열한다고 주장하는 여러 사이트를 확인해 보았지만 모두 구식으로 보입니다. 가장 눈에 띄는 것은 이 테이블(Update: 현재 0.12 현재 Node.js 상태로 업데이트됨)입니다. 몇 가지 기능이 필요한 것으로 나열되어 있기 때문입니다.--harmony기본적으로 활성화되어 있는 일부 항목(맵, 세트, 기호, 이름을 지정할 경우)을 발견하는 동안 플래그를 지정합니다.업데이트:이후 노드별 테이블을 사용할 수 있게 되었습니다.
또한 v8 엔진만을 위해 이 정보를 구글링하려고 하면 너무 최신 정보를 제공합니다. 현재 v8 릴리스는 Node.js가 사용하는 것보다 상당히 앞선 4.2.*입니다.
이 질문(및 답변)이 Node.js 개발자가 사용할 수 있는 ES 6 기능에 대한 포괄적인 요약이 되기를 바랍니다.
Node.js 0.12에서 활성화된 ES 6 기능은 현재 알고 있습니다.
- 지도, 집합 / 약한 지도, 약한 집합
- 기호
- Object.Object
- 약속들
- 번호
- .isInteger
- .isSafeInteger
- .isNaN
- .EPSILON
- .MIN_SAFE_INTEGER
- .MAX_SAFE_INTEGER
- 수학
- .clz32
- .이물
- .서명하다
- .log10
- .log2
- .log1p
- .expm1
- .코쉬
- .sinh
- .tan
- .아코시
- .사악한
- .아탄
- .trunc
- .fround
- .cbrt
- .hypot
없는 특징 --harmony플래그:
- "for-of" 루프
- 맵, 집합, WickMap, WickSet(문제의 경우 이미 지정됨)
- 기호(문제에 이미 지정됨)
- 약속(문제의 이미 지정됨)
- 배열 방법:
- 개체:
- .observe() (처음에는 ES7용으로 계획되었으나 2015년 11월 2일에 완전히 사양에서 삭제됨)
- .is()
- .set원형Of()
- .getOwnProperty 기호()
- .getNotifier()(참고 6, 여기 예제)
- .apply() 및 .call() (참고 6, Funciton.prototype.call 및 Function.prototype.apply와 동일한 용도)
- 숫자 속성 및 메서드(문제의 경우 이미 지정됨)
- 수학적 방법 (많은 방법) (이미 문제에 명시되어 있음)
- 상수
내 생각엔 우리가 가진 건 그게 전부인 것 같아요--harmony깃발을 올리다
기능:--harmony플래그:
- 발전기들
- 화살표 함수(필요 없음)
--harmony_arrow_functions대조되는 깃발io.js) - let 변수 - only in
strict mode - 이진 및 팔진 리터럴
문자열 메서드:
- .px (로 대체됨)
includes()실제 ES6 사양) - .()로 시작합니다.
- .ends With()
- .codePointAt()
- .repeat()
- .normalize()
- String.from CodePoint
- .px (로 대체됨)
프록시(뒤에)
--harmony-proxies깃발)
그게 다인 것 같아요.제가 뭔가를 잊어버렸다면 나중에 목록에 추가하겠습니다.
ES6 기능은 단계적으로 노드로 흘러갑니다.노드는 구글의 V8을 자바스크립트 엔진으로 사용합니다.Node에서 지원되는 기능은 먼저 V8에 구현된 후 Node 팀에서 Node.js에 통합해야 함을 의미합니다.
Google 팀은 대략 6주에 한 번씩 새로운 버전의 V8을 출시하고, 이 버전을 사용하는 것은 노드 팀에 달려 있습니다.
수동으로 큐레이션된 언어 기능 목록은 좋지만 금방 구식이 될 수 있습니다.노드 0.12는 더 이상 유동적이지 않지만, 일반적으로 수동으로 큐레이션된 목록은 새로운 버전의 노드가 롤아웃되자마자 쓸모가 없어집니다.
다음은 노드 버전이 지원하는 기능을 정적 목록에 의존하지 않고 확인하는 두 가지 방법입니다.자세한 읽기 및 자세한 사용 예는 "Node.js가 ES 6 언어 기능을 지원하는지 확인하는 방법"을 확인할 수 있습니다.
#1 간편 - 호환성 테이블
언어 기능의 존재를 확인하기 위해 작은 테스트에 의존하는 동적으로 생성된 목록은 최신 상태를 유지합니다.그러한 인기있는 목록 중 하나는 kangax.github.io/compat-table/es6/ 입니다.Node 기능에만 관심이 있으므로 다음을 사용할 수 있습니다.
캉악스 사이트와 동일한 데이터를 활용하고 있습니다.
#2 하드 백트랙 V8 버전
노드는 V8 엔진을 사용하므로 노드에 포함된 V8 버전을 결정하면 지원되는 ES6 언어 기능을 알 수 있습니다.어떤 버전의 V8이 노드에 번들로 제공되었는지 확인할 수 있습니다.node -p process.versions.v8.
$ node -p process.versions.v8
4.6.85.31
그런 다음 Google의 V8 프로젝트 리소스를 사용하여 각 버전에 구현된 기능을 확인할 수 있습니다.V8 프로젝트에는 하모니 라벨이 표시된 기능을 넘어 ES6+를 찾을 수 있는 문제 추적기가 있습니다.
언급URL : https://stackoverflow.com/questions/28388885/ecmascript-6-features-available-in-node-js-0-12
'programing' 카테고리의 다른 글
| XML에서 한 줄을 주석으로 달려면 어떻게 해야 합니까? (0) | 2023.09.18 |
|---|---|
| 요구사항을 사용하는 방법JS와 jQuery가 같이? (0) | 2023.09.18 |
| 깃 저장소를 복제하는 방법은?(포킹 미포함) (0) | 2023.09.18 |
| Excel에서 동일한 행에 중복을 정렬하는 방법 (0) | 2023.09.18 |
| 페이지 로드가 완료되었는지 여부 감지 (0) | 2023.09.18 |