Skip to content

Commit

Permalink
Merge branch 'main' into translate/ko/Web/API/History_API/Working_wit…
Browse files Browse the repository at this point in the history
…h_the_History_API
  • Loading branch information
effozen authored Dec 18, 2024
2 parents 8373969 + ed2bdc9 commit 9ac1118
Show file tree
Hide file tree
Showing 15 changed files with 805 additions and 100 deletions.
1 change: 1 addition & 0 deletions files/ja/_redirects.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1332,6 +1332,7 @@
/ja/docs/Glossary/Client_hints /ja/docs/Web/HTTP/Client_hints
/ja/docs/Glossary/Constant(定数) /ja/docs/Glossary/Constant
/ja/docs/Glossary/Constant(定数) /ja/docs/Glossary/Constant
/ja/docs/Glossary/DOS_attack /ja/docs/conflicting/Glossary/Denial_of_Service
/ja/docs/Glossary/DTD /ja/docs/Glossary/Doctype
/ja/docs/Glossary/Descriptor_(CSS) /ja/docs/Glossary/CSS_Descriptor
/ja/docs/Glossary/Empty_element /ja/docs/Glossary/Void_element
Expand Down
8 changes: 4 additions & 4 deletions files/ja/_wikihistory.json
Original file line number Diff line number Diff line change
Expand Up @@ -590,10 +590,6 @@
"modified": "2020-05-01T02:52:31.457Z",
"contributors": ["TheSakuMa", "mfuji09", "sii", "lpcwww"]
},
"Glossary/DOS_attack": {
"modified": "2020-01-07T12:39:20.859Z",
"contributors": ["Uemmra3", "mfuji09", "dskmori", "kadokura"]
},
"Glossary/DTMF": {
"modified": "2019-03-18T21:26:29.740Z",
"contributors": ["Wind1808"]
Expand Down Expand Up @@ -30043,6 +30039,10 @@
"modified": "2020-07-17T23:22:13.809Z",
"contributors": ["papparapa", "silverskyvicto"]
},
"conflicting/Glossary/Denial_of_Service": {
"modified": "2020-01-07T12:39:20.859Z",
"contributors": ["Uemmra3", "mfuji09", "dskmori", "kadokura"]
},
"conflicting/Learn/JavaScript/Client-side_web_APIs/Fetching_data": {
"modified": "2020-08-12T11:49:11.332Z",
"contributors": [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: DoS attack (DoS 攻撃)
slug: Glossary/DOS_attack
slug: conflicting/Glossary/Denial_of_Service
original_slug: Glossary/DOS_attack
l10n:
sourceCommit: ada5fa5ef15eadd44b549ecf906423b4a2092f34
---
Expand Down
16 changes: 6 additions & 10 deletions files/ja/glossary/soap/index.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
---
title: SOAP
slug: Glossary/SOAP
l10n:
sourceCommit: ada5fa5ef15eadd44b549ecf906423b4a2092f34
---

{{GlossarySidebar}}

**SOAP** (Simple Object Access Protocol) は {{glossary('XML')}} 形式でデータを転送する{{glossary('protocol','プロトコル')}}です。{{glossary('Mozilla Firefox','Firefox')}} は 2008 年に SOAP のサポートを廃止しました。
**SOAP** (Simple Object Access Protocol) は {{glossary('XML')}} 形式でデータを転送する{{glossary('protocol','プロトコル')}}です。

## 関連項目
## 関連情報

### 一般知識

- Wikipedia の [SOAP](https://ja.wikipedia.org/wiki/SOAP)
- [SOAP in Gecko-based Browsers](/ja_docs/SOAP_in_Gecko-based_Browsers)

### 技術リファレンス

- [Specification](https://www.w3.org/TR/soap12-part1/)
- [SOAP](https://ja.wikipedia.org/wiki/SOAP)(ウィキペディア)
- [仕様書](https://www.w3.org/TR/soap12-part1/)
6 changes: 3 additions & 3 deletions files/ja/web/api/requestinit/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ l10n:
- {{jsxref("TypedArray")}}
- {{domxref("URLSearchParams")}}

詳しくは[本体の設定](/ja/docs/Web/API/Fetch_API/Using_Fetch#setting_a_body)を参照してください。
詳しくは[本体の設定](/ja/docs/Web/API/Fetch_API/Using_Fetch#本体の設定)を参照してください。

- `browsingTopics` {{optional_inline}} {{experimental_inline}}

Expand Down Expand Up @@ -99,7 +99,7 @@ l10n:

オリジン間のリクエストに資格情報を含めると、{{glossary("CSRF")}} 攻撃を受けやすくなる可能性があります。そのため、`credentials``include` に設定されていても、{{httpheader("Access-Control-Allow-Credentials")}} をレスポンスに含めることで、サーバーも資格情報を含めることに同意する必要があります。さらに、この状況ではサーバーは{{httpheader("Access-Control-Allow-Origin")}} レスポンスヘッダーでクライアントのオリジンのサーバーを明示的に指定しなければなりません(つまり、`*` は許可されません)。

詳しくは[資格情報を含める](/ja/docs/Web/API/Fetch_API/Using_Fetch#including_credentials)を参照してください。
詳しくは[資格情報を含める](/ja/docs/Web/API/Fetch_API/Using_Fetch#資格情報を含める)を参照してください。

既定値は `same-origin` です。

Expand Down Expand Up @@ -155,7 +155,7 @@ l10n:
- `websocket`
- : [WebSocket](/ja/docs/Web/API/WebSockets_API) 接続を確立するときのみ使用します。

詳しくは、[オリジン間リクエストを行う](/ja/docs/Web/API/Fetch_API/Using_Fetch#making_cross-origin_requests)を参照してください。
詳しくは、[オリジン間リクエストを行う](/ja/docs/Web/API/Fetch_API/Using_Fetch#オリジン間リクエストを行う)を参照してください。

既定値は `cors` です。

Expand Down
2 changes: 1 addition & 1 deletion files/ja/web/javascript/memory_management/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ l10n:

{{JsSidebar("Advanced")}}

C のような低水準言語には、[`malloc()`](https://pubs.opengroup.org/onlinepubs/009695399/functions/malloc.html)[`free()`](https://en.wikipedia.org/wiki/C_dynamic_memory_allocation#Overview_of_functions) のような低水準のメモリー管理プリミティブがあります。これに対して JavaScript では、オブジェクトを作成するときにメモリーを自動的に確保し、使用しなくなったらメモリーを解放します(_ガーベジコレクション_)。この自動性が混乱の元になる可能性があります。メモリー管理について心配する必要がないという誤った印象を開発者に与える可能性があります。
C のような低水準言語には、[`malloc()`](https://pubs.opengroup.org/onlinepubs/009695399/functions/malloc.html)[`free()`](https://en.wikipedia.org/wiki/C_dynamic_memory_allocation#Overview_of_functions) のような低水準のメモリー管理プリミティブがあります。これに対して JavaScript では、オブジェクトを作成するときにメモリーを自動的に確保し、使用しなくなったらメモリーを解放します(_ガベージコレクション_)。この自動性が混乱の元になる可能性があります。メモリー管理について心配する必要がないという誤った印象を開発者に与える可能性があります。

## メモリーライフサイクル

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
---
title: Iterator.prototype.flatMap()
slug: Web/JavaScript/Reference/Global_Objects/Iterator/flatMap
l10n:
sourceCommit: 7df171ff1d6da6a5e3911b7aedd56f6312bf0cca
---

{{JSRef}}

**`flatMap()`** は {{jsxref("Iterator")}} インスタンスの目疎度で、新しい[イテレーターヘルパーオブジェクト](/ja/docs/Web/JavaScript/Reference/Global_Objects/Iterator#イテレーターヘルパーオブジェクト)を返します。これは元のイテレーターのそれぞれの要素を取り、それをマッピング関数によって走査し、マッピング関数から返される(他のイテレーターや反復可能オブジェクトに含まれている)要素を返します。

## 構文

```js-nolint
flatMap(callbackFn)
```

### 引数

- `callbackFn`
- : このイテレーターが生成するすべての要素に対して実行する関数です。これは `flatMap()` から返される要素を発生させるイテレーターまたは反復可能オブジェクトを返します。なお、 {{jsxref("Array.prototype.flatMap()")}} の場合とは異なり、イテレーターまたは反復可能オブジェクトでない単一の値を返してはいけません。この関数は、以下の引数とともに呼び出されます。
- `element`
- : 処理中の現在の要素です。
- `index`
- : 処理中の現在の要素のインデックスです。

### 返値

新しい[イテレーターヘルパーオブジェクト](/ja/docs/Web/JavaScript/Reference/Global_Objects/Iterator#イテレーターヘルパーオブジェクト)です。最初にイテレーターヘルパーの `next()` メソッドが呼び出されると、その元となるイテレーターによって生成された最初の要素に対して `callbackFn` が呼び出され、イテレーターまたは反復可能なオブジェクトである返値がイテレーターヘルパーによって順に生成されます({{jsxref("Operators/yield*", "yield*")}} のように)。前の要素が `callbackFn` によって返された後、次の要素が基礎となるイテレーターから取得されます。基礎となるイテレーターが完了すると、イテレーターヘルパーも完了します(`next()` メソッドは `{ value: undefined, done: true }` を生成します)。

### 例外

- {{jsxref("TypeError")}}
- : `callbackFn` がイテレーターや反復可能な値ではない値、あるいは文字列プリミティブを返した場合に発生します。

## 解説

`flatMap` は、コールバック関数からイテレーターまたは反復可能オブジェクトの 2 種類の返値を受け入れます。これらは、 {{jsxref("Iterator.from()")}} と同じ方法で処理されます。返値が反復可能オブジェクトの場合、 `[Symbol.iterator]()` メソッドが呼び出され、返値が使用されます。それ以外の場合、返値はイテレーターとして扱われ、その `next()` メソッドが呼び出されます。

```js
[1, 2, 3]
.values()
.flatMap((x) => {
let itDone = false;
const it = {
next() {
if (itDone) {
return { value: undefined, done: true };
}
itDone = true;
return { value: x, done: false };
},
};
switch (x) {
case 1:
// イテレーターではない反復可能オブジェクト
return { [Symbol.iterator]: () => it };
case 2:
// 反復可能オブジェクトではないイテレーター
return it;
case 3:
// 反復可能なイテレーターは、反復可能オブジェクトとして扱われる
return {
...it,
[Symbol.iterator]() {
console.log("Symbol.iterator が呼び出されました");
return it;
},
};
}
})
.toArray();
// "Symbol.iterator が呼び出されました" とログ出力
// [1, 2, 3] を返す
```

##

### マップのマージ

以下の例は 2 つの {{jsxref("Map")}} オブジェクトを 1 つにマージします。

```js
const map1 = new Map([
["a", 1],
["b", 2],
["c", 3],
]);
const map2 = new Map([
["d", 4],
["e", 5],
["f", 6],
]);

const merged = new Map([map1, map2].values().flatMap((x) => x));
console.log(merged.get("a")); // 1
console.log(merged.get("e")); // 5
```

これにより、マップの中身の一時コピーが作成されるのを避けることができます。 {{jsxref("Array.prototype.flatMap()")}} は配列のみを平坦化し、反復可能オブジェクトは平坦化しないため、配列 `[map1, map2]` は最初の段階で({{jsxref("Array.prototype.values()")}} を使用して)イテレーターに変換する必要があることに注意してください。

```js
new Map([map1, map2].flatMap((x) => x)); // Map(1) {undefined => undefined}
```

### 文字列の返却

文字列は反復可能オブジェクトですが、 `flatMap()` はその仕様上、 `callbackFn` から返される文字列プリミティブを拒否します。これは、コードポイントによる反復処理の挙動が、ユーザーの意図に沿わないことが多いからです。

```js example-bad
[1, 2, 3]
.values()
.flatMap((x) => String(x))
.toArray(); // TypeError: Iterator.prototype.flatMap called on non-object
```

代わりに配列でラップし、文字列全体を 1 つとして返すようにすることもできます。

```js
[1, 2, 3]
.values()
.flatMap((x) => [String(x)])
.toArray(); // ['1', '2', '3']
```

または、コードポイントで反復処理する動作を意図している場合は、 {{jsxref("Iterator.from()")}} を使用して、それを正規のイテレーターに変換することができます。

```js
[1, 2, 3]
.values()
.flatMap((x) => Iterator.from(String(x * 10)))
.toArray();
// ['1', '0', '2', '0', '3', '0']
```

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- [`Iterator.prototype.flatMap` のポリフィル (`core-js`)](https://github.com/zloirock/core-js#iterator-helpers)
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: Iterator.prototype.forEach()
slug: Web/JavaScript/Reference/Global_Objects/Iterator/forEach
l10n:
sourceCommit: a71768c124d1bb2dceef873c0bda266e9f714e4c
---

{{JSRef}}

**`forEach()`** は {{jsxref("Iterator")}} インスタンスのメソッドで、 {{jsxref("Array.prototype.forEach()")}} と似ています。指定された関数を、イテレーターによって生成されたそれぞれの要素に対して 1 回ずつ指定された関数を実行します。

## 構文

```js-nolint
forEach(callbackFn)
```

### 引数

- `callbackFn`
- : イテレーターによって生成された各要素に対して実行する関数。その返値は破棄されます。関数は次の引数で呼び出されます。
- `element`
- : 処理中の現在の要素です。
- `index`
- : 処理中の現在の要素のインデックスです。

### 返値

{{jsxref("undefined")}} です。

## 解説

`forEach()` はイテレーターを反復処理し、それぞれの要素に対して一度ずつ `callbackFn` 関数を呼び出します。 他のほとんどのイテレーターヘルパーメソッドとは異なり、これは遅延的ではないため、無限イテレーターでは動作しません。

##

### forEach() の使用

```js
new Set([1, 2, 3]).values().forEach((v) => console.log(v));

// ログ出力:
// 1
// 2
// 3
```

これは次のものと同等です。

```js
for (const v of new Set([1, 2, 3]).values()) {
console.log(v);
}
```

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- [`Iterator.prototype.forEach` のポリフィル (`core-js`)](https://github.com/zloirock/core-js#iterator-helpers)
- {{jsxref("Iterator")}}
- {{jsxref("Iterator.prototype.find()")}}
- {{jsxref("Iterator.prototype.map()")}}
- {{jsxref("Iterator.prototype.filter()")}}
- {{jsxref("Iterator.prototype.every()")}}
- {{jsxref("Iterator.prototype.some()")}}
- {{jsxref("Array.prototype.forEach()")}}
Loading

0 comments on commit 9ac1118

Please sign in to comment.