Javascript 노드가 어떤 버전을 사용하는지 파악하기 위해 두 가지 전략으로 축소 된 것 같습니다.
전략 1 : 어떤 문서가 어딘가에서 말하는 것을 신뢰합니다. 이는 많은 경우에 잘못된 것입니다. ECMAScript 버전을 지원하는 노드 버전의 키-값 쌍을 나타내는 테이블을 찾지 못했습니다.
전략 2 : 추측과 확인.
ES6에서 인용 한 기능을 찾고 다음과 같이 "실패 여부 확인"을 수행합니다.
el@apollo:~/code$ echo "console.log('blue'.includes('blue'))" > a.js
el@apollo:~/code$ cat a.js
console.log('blue'.includes('blue'))
el@apollo:~/code$ node a.js
/home/el/code/javascript/02/a.js:1
ports, require, module, __filename, __dirname) { console.log('blue'.includes('
^
TypeError: undefined is not a function
at Object.<anonymous> (/home/el/code/javascript/02/a.js:1:82)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
el@apollo:~/code$ babel-node a.js
true
여기서 "바벨"은 타 나크에 대한 참조라고 생각합니다. 우리의 노드 버전은 어떤 기능을 지원합니까? 글쎄, 모르겠다. 수동으로 테스트해야 할 것이다. 이것은 거대한 MESS가 될 것입니다. 그리고 더 나쁜 것은 의도적 인 것 같습니다.