第2章 機能
このセクションには、Node.js16 リリースの Red Hat ビルドで導入された機能の変更に関する情報が含まれています。
2.1. 新機能および変更された機能 リンクのコピーリンクがクリップボードにコピーされました!
Node.js 16 LTS には、Node.js の Red Hat ビルドがサポートする次の新機能と拡張機能があります。
Node.js 16 LTS の詳細な変更は、upstream release notes および upstream documentation を参照してください。
2.1.1. FIPS 対応の Red Hat Enterprise Linux (RHEL) システムでの Node.js ランタイムのサポート リンクのコピーリンクがクリップボードにコピーされました!
Node.js の Red Hat ビルドは、FIPS 対応の RHEL システムで実行し、RHEL が提供する FIPS 認定ライブラリーを使用します。
2.1.2. V8 JavaScript エンジンが v8.4 から v9.4 にアップグレードされた リンクのコピーリンクがクリップボードにコピーされました!
V8 JavaScript エンジンが v9.4 にアップグレードされました。
エンジンには、正規表現の一致でキャプチャーされた文字列の開始インデックスと終了インデックスを提供する ECMAScript RegExp 一致インデックスなどの新機能が含まれています。正規表現に /d フラグが含まれている場合は、一致オブジェクトの .indices プロパティーを使用して、インデックス配列にアクセスできます。以下に例を示します。
> const matchObj = /(Java)(Script)/d.exec('JavaScript');
undefined
> matchObj.indices
[ [ 0, 10 ], [ 0, 4 ], [ 4, 10 ], groups: undefined ]
> matchObj.indices[0]; // Match
[ 0, 10 ]
> matchObj.indices[1]; // First capture group
[ 0, 4 ]
> matchObj.indices[2]; // Second capture group
[ 4, 10 ]
アップグレードされた V8 JavaScript エンジンは、次の JavaScript 言語機能も提供します。
-
Array.prototype.at - エラーと原因
-
Object.hasOwn
V8 JavaScript エンジンで利用可能な変更の詳細については、V8 ブログ を参照してください。
2.1.3. Timers Promises API リンクのコピーリンクがクリップボードにコピーされました!
Timers Promises API は、Node.js 16 LTS の新しい安定した機能です。
Timers Promises API は、Promise オブジェクトを返すタイマー関数の代替セットを提供します。この API により、util.promisify() を使用する必要がなくなります。以下に例を示します。
import { setTimeout } from 'timers/promises';
async function run() {
await setTimeout(5000);
console.log('Hello, World!');
}
run();
2.1.4. OpenShift の更新済み Node.js メータリングラベル リンクのコピーリンクがクリップボードにコピーされました!
メータリングラベルを Node.js Pod に追加し、OpenShift Metering Operator を使用して Red Hat サブスクリプションの詳細を確認できます。
メータリングラベルは、Operator がデプロイおよび管理する Pod に追加しないでください。
Node.js 14 LTS リリースでの導入以降、OpenShift の Node.js メータリングラベルが変更されました。
Node.js 16 LTS は、次の更新されたメータリングラベルを使用します。
-
com.company:Red_Hat -
rht.prod_name:"Red_Hat_Runtimes" -
rht.prod_ver:2021-Q4 -
rht.comp:Node.js -
rht.comp_ver:16.x.x -
rht.subcomp: -
rht.subcomp_t: application
詳細は、メータリング のドキュメントを参照してください。
ラベルの詳細は、ノードでラベルを更新する方法について を参照してください。
- メータリングラベルは、Operator またはテンプレートがデプロイおよび管理する Pod に追加しないでください。
-
rht.comp_verの xx を、デプロイメントで使用している Node.js の製品バージョンに置き換えます。たとえば、Node.js 製品バージョンが 16.13.1 の場合は、ラベルに 16.13.1 を指定します。 -
rht.subcompラベルに Node.js の空白値が割り当てられていることを確認します。
2.1.5. Red Hat Enterprise Linux 9 のサポート リンクのコピーリンクがクリップボードにコピーされました!
このリリースの Red Hat build of Node.js は、Red Hat Enterprise Linux 9 での使用も認定されています。
Red Hat は、Red Hat Enterprise Linux 9 での使用が認定されている Red Hat build of Node.js 16 LTS リリース用に一連のコンテナーイメージを提供するようになりました。これらのコンテナーイメージを使用して、Red Hat Enterprise Linux 9 ホストで Node.js アプリケーションをビルドし、実行できます。認定されたコンテナーイメージの詳細は、リリースコンポーネント を参照してください。