-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into translate/ko/Web/API/History_API/Working_wit…
…h_the_History_API
- Loading branch information
Showing
15 changed files
with
805 additions
and
100 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
3 changes: 2 additions & 1 deletion
3
files/ja/glossary/dos_attack/index.md → ...cting/glossary/denial_of_service/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
146 changes: 146 additions & 0 deletions
146
files/ja/web/javascript/reference/global_objects/iterator/flatmap/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
73 changes: 73 additions & 0 deletions
73
files/ja/web/javascript/reference/global_objects/iterator/foreach/index.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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()")}} |
Oops, something went wrong.