本日、バージョン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
重要なバージョン管理サポートを追加してくれたDimd13とChALkeRxに感謝します。