2.3. テクノロジープレビューの機能


以下の機能は、Node.js 16 LTS リリースのテクノロジープレビュー機能として利用できます。

2.3.1. Web 暗号化 API

Web Crypto API は、標準の W3C Web Cryptography API の実装です。Web Crypto API には、require('crypto').webcrypto ステートメントを使用してアクセスできます。以下に例を示します。

const { subtle } = require('crypto').webcrypto;

(async function() {

  const key = await subtle.generateKey({
    name: 'HMAC',
    hash: 'SHA-256',
    length: 256
  }, true, ['sign', 'verify']);

  const digest = await subtle.sign({
    name: 'HMAC'
  }, key, 'I love cupcakes');

})();

2.3.2. Web Streams API

Web Streams API は、ストリーミングデータを処理するための WHATWG Streams Standard の実装です。これは実験的なものであるため、このリリースでは Web Streams API はグローバルオブジェクトに公開されていません。Web Streams API にアクセスするには、新しい stream/web コアモジュールを使用する必要があります。以下に例を示します。

import { ReadableStream, WritableStream } from 'stream/web';
// Or from 'node:stream/web'

2.3.3. ESM Loader Hooks API

ESM Loader Hooks API は、ECMAScript モジュール (ESM) ローダーフックを統合して、将来のローダーチェーンを容易にするのに必要な手順を表します。

  1. resolve: resolve [+ getFormat]
  2. load: getFormat + getSource + transformSource

一貫性を保つために、getGlobalPreloadCode ローダーフックの名前は globalPreload に変更されました。

一つ以上の廃止されたフックをエクスポートするローダーは、誤ったフックをリストする単一の非推奨警告をトリガーします。

2.3.4. ワーカースレッド間で生データを共有するための新しいクラス

Blob クラスは、複数のワーカースレッド間で安全に共有できる不変の生データをカプセル化します。

Blob は、Buffer クラスのサブクラスです。

2.3.5. テストランナーモジュール

node:test モジュールにより、Test Anything Protocol (TAP) 形式で結果を報告する JavaScript テストの作成が容易になります。

テストランナーモジュールをインポートするには、以下の構文を使用します。

import test from 'node:test';
注記

テストランナーモジュールをインポートする場合は、前述の例のように node: 接頭辞を指定する必要があります。node: 接頭辞は、コアモジュールの読み込みを示します。node: 接頭辞を省略すると、Node.js は Node.js コアから テスト ランナーモジュールをインポートするのではなく、Node.js モジュールのユーザーランドエコシステムからテストモジュールのインポートを試みます。

以下のコードは、2 つのサブテストを持つ親テストの実装例を示しています。

test('top level test', async (t) => {
  await t.test('subtest 1', (t) => {
    assert.strictEqual(1, 1);
  });

  await t.test('subtest 2', (t) => {
    assert.strictEqual(2, 2);
  });
});

詳細は、Node.js Test Runner のドキュメント を参照してください。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る