Node.JS v6.0リリース

本日、バージョン6.0がリリースされました。 バージョンv8(v5.0へ)の更新を含む多くの変更がありますが、それらの一部はコードを破壊する可能性があります。 今年の10月には、v6.xブランチが新しいアクティブLTSバージョンになり、そのサポートは2018年4月まで続きます。







バッファロジックが変更され、アプリケーションのセキュリティが向上しました。 すぐに使用可能なプロキシ、リフレクト、ES 2015の拡張サポートが利用可能になります。カットされた例での主要な変更。







Node.js v4 'Argon'の現在のLTSブランチのサポートは2017年4月まで続きます。v5のサポートはさらに2か月続き、このバージョンを使用する開発者はv6にアップグレードできます。 v0.10とv0.12のサポートは、それぞれ2016年11月と12月に完全に廃止されます。







APIの変更



最も重要な変更の変更ログからの抜粋:







緩衝液



Bufferオブジェクトのコンストラクターの動作が変更されました。 古いコンストラクタは非推奨のステータスになり、その動作は別のメソッドに渡されました:







//  new Buffer(size); //  Buffer.alloc(size);
      
      





デフォルトでは、バッファはゼロで埋められます;必要でない場合は、 Buffer.allocUnsafe



使用しBuffer.allocUnsafe



。 文字列または他のバッファからバッファを初期化するために、 Buffer.from



メソッドBuffer.from









 //  new Buffer(str, 'utf8'); //  Buffer.from(str, 'utf8');
      
      





EventEmitter



EventEmitterオブジェクトは、2つの新しいメソッドprependListener



およびprependOnceListener



。どちらのメソッドも、イベントハンドラーのリストの先頭に新しいイベントハンドラーを追加します。







 var ee = new EventEmitter(); var result = []; ee.on('event', () => result.push(1)); ee.prependListener('event', () => result.push(2)); ee.emit('event'); result; // -> [2, 1]
      
      





ファイルシステム



fs.realpath



およびfs.realpathSync



は、更新されたlibuvロジックを使用するようになり、追加のエラーがスローされる場合があります。 Bufferをこれらのメソッドにフィードすることもできます。







HTTP



HTTPサーバーは、クライアントエラーでclientErrorイベントを生成するようになりました。 ここに例を見ることができます







処理



問題について警告するメカニズムが導入されました。 stderrに出力する代わりに、警告を特別なメソッドに渡すことができます。







 process.emitWarning('something goes wrong');
      
      





Error



オブジェクトを渡すこともできます。 詳細については、ドキュメントを参照しください。







ストリーム



オブジェクトモードのストリームは、書き込み用にnull



を受け入れなくなりました。







URL



url.resolve



メソッドは、ホストが変更されるとユーザー名とパスワードの値を破棄します。









WinXPおよびVistaのサポートの終了。







V8の変更



node.jsでは、ECMAScript 2015の多くのクールな機能を使用できます!







破壊的な割り当て



配列またはオブジェクトの値を直接変数に選択できます。







 let [a, b] = [1, 2]; let {c, e} = {c: 3, e: 4};
      
      





破壊的な関数の引数



関数に渡すときにオブジェクトまたは配列を解析できます。







 function fn({arg}) { return arg; } fn({arg: '1'}); // -> 1
      
      





デフォルト値



関数はデフォルト値を受け取りました。最後に、関数本体の先頭で不要なチェックを取り除くことができます。







 function doSomething(task = 'nothing') { console.log('I\'m gonna do %s.', task); } doSomething(); // -> I'm gonna do nothing.
      
      





プロキシと反映



ProxyおよびReflectオブジェクトは、コマンドラインフラグなしで使用できます。







配列の継承



最後に、 Array



オブジェクトからのほぼ完全な継承が利用可能です。







PS



私の意見では、非常にクールなリリースが今回行われました! Node.jsチームを祝福できると思います







PPS



重要なバージョン管理サポートを追加してくれたDimd13ChALkeRxに感謝します。








All Articles