Map.prototype.forEach()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itโs been available across browsers since โจ2015๋ 7์โฉ.
Map
์ธ์คํด์ค์ forEach()
๋ฉ์๋๋ ์ด Map ๊ฐ์ฒด์ ํค/๊ฐ ์๋ง๋ค ๊ฐ๊ฐ ์ ๊ณต๋ ํจ์๋ฅผ ์ฝ์
๋์๋ ์์๋๋ก ์คํํฉ๋๋ค.
์๋ํด ๋ณด๊ธฐ
function logMapElements(value, key, map) {
console.log(`m[${key}] = ${value}`);
}
new Map([
["foo", 3],
["bar", {}],
["baz", undefined],
]).forEach(logMapElements);
// Expected output: "m[foo] = 3"
// Expected output: "m[bar] = [object Object]"
// Expected output: "m[baz] = undefined"
๊ตฌ๋ฌธ
forEach(callbackFn)
forEach(callbackFn, thisArg)
๋งค๊ฐ๋ณ์
callbackFn
-
๋งต์ ๊ฐ ํญ๋ชฉ์ ๋ํด ์คํํ ํจ์์ ๋๋ค. ์ด ํจ์๋ ๋ค์ ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ํธ์ถ๋ฉ๋๋ค.
thisArg
Optional-
callbackFn
์ ์คํํ๊ณ ์์ ๋this
๋ก ์ฌ์ฉํ๋ ๊ฐ.
๋ฐํ ๊ฐ
์์ (undefined
).
์ค๋ช
forEach
๋ฉ์๋๋ ์ค์ ๋ก ์กด์ฌํ๋ ๋งต์ ๊ฐ ํค์ ๋ํด ์ ๊ณต๋ callback
์ ํ ๋ฒ์ฉ ์คํํฉ๋๋ค. ์ญ์ ๋ ํค์ ๋ํด์๋
ํธ์ถ๋์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ์ ์กด์ฌํ์ง๋ง undefined
๊ฐ์ผ ๊ฒฝ์ฐ์๋ callback
์ด ์คํ๋ฉ๋๋ค.
callback
์ ์ธ์ 3๊ฐ์ ํจ๊ป ํธ์ถ๋ฉ๋๋ค.
- ํญ๋ชฉ์
value
- ํญ๋ชฉ์
key
- ์ํํ๊ณ ์๋
Map
๊ฐ์ฒด
thisArg
๊ฐ forEach
์ ๋งค๊ฐ ๋ณ์๋ก ์ ๊ณต๋๋ฉด ํธ์ถ ์ this
๊ฐ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด callback
์ ์ ๋ฌ๋ฉ๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด undefined
๊ฐ์ด this
๊ฐ์ผ๋ก ์ฌ์ฉ๋๋๋ก ์ ๋ฌ๋ฉ๋๋ค. callback
์ด ๊ถ๊ทน์ ์ผ๋ก ๊ด์ฐฐํ ์ ์๋
this
๊ฐ์ ํจ์๊ฐ ๋ณด๋ this
๋ฅผ ๊ฒฐ์ ํ๊ธฐ ์ํ ์ผ๋ฐ์ ์ธ ๊ท์น์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค.
forEach
๊ฐ ์๋ฃ๋๊ธฐ ์ ์ ์ญ์ ํ๋ค๊ฐ ๋ค์ ์ถ๊ฐํ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๊ฐ ๊ฐ์ ํ ๋ฒ์ฉ ๋ฐฉ๋ฌธํฉ๋๋ค. ๋ฐฉ๋ฌธํ๊ธฐ ์ ์ ์ญ์ ๋ ๊ฐ์ ๋ํด์๋
callback
์ด ํธ์ถ๋์ง ์์ต๋๋ค. forEach
๊ฐ ์๋ฃ๋๊ธฐ ์ ์ ์ถ๊ฐ๋ ์ ๊ฐ์ ๋์ค์ ๋ฐฉ๋ฌธํฉ๋๋ค.
์์
Map ๊ฐ์ฒด์ ๋ด์ฉ์ ์ถ๋ ฅํ๊ธฐ
๋ค์ ์ฝ๋๋ Map
๊ฐ์ฒด์์ ๊ฐ ์์์ ๋ด์ฉ์ ํ ์ค์ ๋ก๊ทธ๋ก ๋จ๊น๋๋ค.
function logMapElements(value, key, map) {
console.log(`map.get('${key}') = ${value}`);
}
new Map([
["foo", 3],
["bar", {}],
["baz", undefined],
]).forEach(logMapElements);
// Logs:
// "map.get('foo') = 3"
// "map.get('bar') = [object Object]"
// "map.get('baz') = undefined"
๋ช ์ธ์
Specification |
---|
ECMAScriptยฎ 2026 Language Specification # sec-map.prototype.foreach |
๋ธ๋ผ์ฐ์ ํธํ์ฑ
Loadingโฆ