MessageEvent: ports プロパティ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.

portsMessageEvent インターフェイスの読み取り専用プロパティで、メッセージが(チャネルメッセージングや共有ワーカーにメッセージを送信する場合など、適切な場合に)送信されるチャネルに関連するポートを表す MessagePort オブジェクトの配列です。

MessagePort オブジェクトの配列です。

js
onconnect = (e) => {
  const port = e.ports[0];

  port.addEventListener("message", (e) => {
    const workerResult = `Result: ${e.data[0] * e.data[1]}`;
    port.postMessage(workerResult);
  });

  port.start(); // addEventListener を使用した場合は必要。 onmessage セッターからは暗黙に呼び出されます。
};

仕様書

Specification
HTML Standard
# dom-messageevent-ports-dev

ブラウザーの互換性

BCD tables only load in the browser

関連情報

  • ExtendableMessageEvent — このインターフェイスに似ていますが、もっと柔軟性が必要なインターフェイスで使用されます。