diff --git a/files/ja/web/javascript/reference/global_objects/set/difference/index.md b/files/ja/web/javascript/reference/global_objects/set/difference/index.md
new file mode 100644
index 00000000000000..476e866fc4e5d3
--- /dev/null
+++ b/files/ja/web/javascript/reference/global_objects/set/difference/index.md
@@ -0,0 +1,77 @@
+---
+title: Set.prototype.difference()
+slug: Web/JavaScript/Reference/Global_Objects/Set/difference
+l10n:
+ sourceCommit: 50d5e7cdb972c64a8f02a34a229bbc5ed7305c24
+---
+
+{{JSRef}}
+
+**`difference()`** は {{jsxref("Set")}} インスタンスのメソッドで、集合を一つ受け取り、この Set に含まれており、与えられた集合に含まれない要素を含む新しい Set を返します。
+
+## 構文
+
+```js-nolint
+difference(other)
+```
+
+### 引数
+
+- `other`
+ - : {{jsxref("Set")}} オブジェクト、または [Set 風](/ja/docs/Web/JavaScript/Reference/Global_Objects/Set#set_風オブジェクト)オブジェクトです。
+
+### 返値
+
+新しい {{jsxref("Set")}} オブジェクトで、この Set に含まれる要素で、`other` 集合には含まれない要素が入ったものです。
+
+## 解説
+
+数学的な記法では、差 (_difference_) は次のように定義されます。
+
+
+
+
+
+
+ベン図を使うとこうなります。
+
+![2 つの円が重なり合うベン図。A と B の差は、A の B と重なり合わない部分です。](diagram.svg)
+
+`difference()` は、[Set 風](/ja/docs/Web/JavaScript/Reference/Global_Objects/Set#set-like_objects)オブジェクトを `other` 引数として受け入れます。{{jsxref("Operators/this", "this")}} は、ユーザーコードを呼び出すことなく、`this` オブジェクトに格納されているデータに直接アクセスするため、実際の {{jsxref("Set")}} インスタンスであることが要求されます。その後、その動作は `this` と `other` のサイズに依存します。
+
+- `this` の中の要素が `other.size` よりも多かった場合、`other` を `keys()` メソッドを呼び出すことで走査し、`this` の中のすべての要素のうち `other` にない要素で新しい Set を構築します。
+- そうでなければ、`this` の要素を走査し、`this` の要素 `e` のうち、`other.has(e)` が[偽値](/ja/docs/Glossary/Falsy)を返すすべてを含む新しい Set を構築します。
+
+返される Set の要素の順序は、`this` の順序と同じです。
+
+## 例
+
+### difference() の使用
+
+次の例では、奇数(10 未満)と完全平方(10 未満)の集合の差を計算します。結果は、完全平方ではない奇数の集合となります。
+
+```js
+const odds = new Set([1, 3, 5, 7, 9]);
+const squares = new Set([1, 4, 9]);
+console.log(odds.difference(squares)); // Set(3) { 3, 5, 7 }
+```
+
+## 仕様書
+
+{{Specifications}}
+
+## ブラウザーの互換性
+
+{{Compat}}
+
+## 関連情報
+
+- [`Set.prototype.difference` のポリフィル (`core-js`)](https://github.com/zloirock/core-js#new-set-methods)
+- {{jsxref("Set.prototype.intersection()")}}
+- {{jsxref("Set.prototype.isDisjointFrom()")}}
+- {{jsxref("Set.prototype.isSubsetOf()")}}
+- {{jsxref("Set.prototype.isSupersetOf()")}}
+- {{jsxref("Set.prototype.symmetricDifference()")}}
+- {{jsxref("Set.prototype.union()")}}
diff --git a/files/ja/web/javascript/reference/global_objects/set/intersection/index.md b/files/ja/web/javascript/reference/global_objects/set/intersection/index.md
new file mode 100644
index 00000000000000..be5e9fdd3becc4
--- /dev/null
+++ b/files/ja/web/javascript/reference/global_objects/set/intersection/index.md
@@ -0,0 +1,77 @@
+---
+title: Set.prototype.intersection()
+slug: Web/JavaScript/Reference/Global_Objects/Set/intersection
+l10n:
+ sourceCommit: 50d5e7cdb972c64a8f02a34a229bbc5ed7305c24
+---
+
+{{JSRef}}
+
+**`intersection()`** は {{jsxref("Set")}} インスタンスのメソッドで、集合を受け取り、この Set と指定された集合の両方にある要素の入った新しい Set を返します。
+
+## 構文
+
+```js-nolint
+intersection(other)
+```
+
+### 引数
+
+- `other`
+ - : {{jsxref("Set")}} オブジェクト、または [Set 風](/ja/docs/Web/JavaScript/Reference/Global_Objects/Set#set_風オブジェクト)オブジェクトです。
+
+### 返値
+
+新しい {{jsxref("Set")}} オブジェクトで、この Set と `other` の集合の両方にある要素が入ったものです。
+
+## 解説
+
+数学的な記法では、交差 (_intersection_) は次のように定義されます。
+
+
+
+
+
+
+ベン図を使うとこうなります。
+
+![2 つの円が重なっているベン図。AとBの交点が重なっている部分です。](diagram.svg)
+
+`intersection()` は、[Set 風](/ja/docs/Web/JavaScript/Reference/Global_Objects/Set#set-like_objects)オブジェクトを `other` 引数として受け入れます。{{jsxref("Operators/this", "this")}} は、ユーザーコードを呼び出すことなく、`this` オブジェクトに格納されているデータに直接アクセスするため、実際の {{jsxref("Set")}} インスタンスであることが要求されます。その後、その動作は `this` と `other` のサイズに依存します。
+
+- `this` の中の要素が `other.size` よりも多かった場合、`other` を `keys()` メソッドを呼び出すことで走査し、そこから生成されたすべての要素のうち `this` にも存在する要素で新しい Set を構築します。
+- そうでなければ、`this` の要素を走査し、`this` の要素 `e` のうち、`other.has(e)` が[真値](/ja/docs/Glossary/Truthy)を返すすべてを含む新しい Set を構築します。
+
+この実装により、`intersection()` の実行効率は、`this` と `other` のうち小さい方のセットのサイズにほぼ依存します(Set が指数時間でアクセスできると仮定した場合)。返される Set の要素の順序は、`this` と `other` のうち小さい方のセットの順序と同じです。
+
+## 例
+
+### intersection() の使用
+
+次の例では、奇数(10 未満)と完全平方(10 未満)の集合の共通部分を計算します。結果は、完全平方である奇数の集合となります。
+
+```js
+const odds = new Set([1, 3, 5, 7, 9]);
+const squares = new Set([1, 4, 9]);
+console.log(odds.intersection(squares)); // Set(2) { 1, 9 }
+```
+
+## 仕様書
+
+{{Specifications}}
+
+## ブラウザーの互換性
+
+{{Compat}}
+
+## 関連情報
+
+- [`Set.prototype.intersection` のポリフィル (`core-js`)](https://github.com/zloirock/core-js#new-set-methods)
+- {{jsxref("Set.prototype.difference()")}}
+- {{jsxref("Set.prototype.isDisjointFrom()")}}
+- {{jsxref("Set.prototype.isSubsetOf()")}}
+- {{jsxref("Set.prototype.isSupersetOf()")}}
+- {{jsxref("Set.prototype.symmetricDifference()")}}
+- {{jsxref("Set.prototype.union()")}}