Node: isSameNode() メソッド

Baseline Widely available

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

isSameNode()Node インターフェイスのメソッドで、 === 厳密等価演算子の古い別名です。 すなわち、 2 つのノードが全く同じであるかどうか(言い換えれば、同じオブジェクトを指しているかどうか)を検査します。

メモ: isSameNode() を使用する必要はありません。 === 厳密等価演算子を使用してください。

構文

js
isSameNode(otherNode)

引数

otherNode

検査対象となる Node です。

メモ: この引数は省略可能ではありませんが、 null に設定することはできます。

返値

論理値で、両ノードが厳密に等しい場合は true、そうでなければ false です。

この例では、 3 つの <div> ブロックを作成しています。 1 つ目と 3 つ目は内容と属性が同じであり、 2 つ目は異なっています。このとき、isSameNode() を使って JavaScript でノードを比較した結果は以下のようになります。

HTML

html
<div>最初の要素です。</div>
<div>2 番目の要素です。</div>
<div>最初の要素です。</div>

<p id="output"></p>

JavaScript

js
let output = document.getElementById("output");
let divList = document.getElementsByTagName("div");

output.innerHTML += `div 0 と div 0 は同じか: ${divList[0].isSameNode(
  divList[0],
)}<br/>`;
output.innerHTML += `div 0 と div 1 は同じか: ${divList[0].isSameNode(
  divList[1],
)}<br/>`;
output.innerHTML += `div 0 と div 2 は同じか: ${divList[0].isSameNode(
  divList[2],
)}<br/>`;

結果

仕様書

Specification
DOM Standard
# dom-node-issamenode

ブラウザーの互換性

BCD tables only load in the browser

関連情報