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に感謝します。



Source: https://habr.com/ru/post/J282688/


All Articles