Iterator.prototype.some()
Baseline
2025
Newly available
Since โจMarch 2025โฉ, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Iterator
์ธ์คํด์ค์ some()
๋ฉ์๋๋ Array.prototype.some()
์ ๋น์ทํฉ๋๋ค. ๋ฐ๋ณต์๊ฐ ์์ฑํ ์์ ์ค ์ ์ด๋ ํ ๊ฐ์ ์์๋ผ๋ ์ฃผ์ด์ง ํจ์์ ์ํด ๊ตฌํ๋ ํ
์คํธ๋ฅผ ํต๊ณผํ๋์ง ์ฌ๋ถ๋ฅผ ์ํํฉ๋๋ค. ์ด ๋ฉ์๋๋ ๋ถ๋ฆฌ์ธ ๊ฐ์ ๋ฐํํฉ๋๋ค.
๊ตฌ๋ฌธ
some(callbackFn)
๋งค๊ฐ๋ณ์
callbackFn
-
๋ฐ๋ณต์์ ์ํด ์์ฑ๋ ๊ฐ ์์์ ๋ํด ์คํ๋ ํจ์. ํด๋น ์์๊ฐ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ฉด ์ฐธ ๊ฐ์ ๊ฐ์ ๋ฐํํด์ผ ํ๋ฉฐ, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๊ฑฐ์ง ๊ฐ์ ๊ฐ์ ๋ฐํํด์ผ ํฉ๋๋ค. ํด๋น ํจ์๋ ๋ค์๊ณผ ๊ฐ์ ์ธ์์ ํจ๊ป ํธ์ถ๋ฉ๋๋ค.
๋ฐํ ๊ฐ
callbackFn
์ด ์ ์ด๋ ํ๋์ ์์์ ๋ํด ์ฐธ ๊ฐ์ ๊ฐ์ ๋ฐํํ๋ค๋ฉด true
, ๊ทธ๋ ์ง ์์ผ๋ฉด false
๋ฅผ ๋ฐํํฉ๋๋ค.
์ค๋ช
some()
๋ฉ์๋๋ ๋ฐ๋ณต์๋ฅผ ์ํํ๋ฉฐ ๊ฐ ์์์ ๋ํด ํ ๋ฒ์ฉ callbackFn
ํจ์๋ฅผ ํธ์ถํฉ๋๋ค. ํด๋น ํจ์๊ฐ ์ฐธ ๊ฐ์ ๊ฐ์ ๋ฐํํ๋ฉด ์ฆ์ true
๋ฅผ ๋ฐํํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฐ๋ณต์์ ๋๊น์ง ์ํํ ํ false
๋ฅผ ๋ฐํํฉ๋๋ค. some()
๊ฐ true
๋ฅผ ๋ฐํํ๋ฉด, ๊ธฐ๋ณธ ๋ฐ๋ณต์๋ return()
๋ฉ์๋๋ฅผ ํธ์ถํ๋ฉด์ ๋ซํ๋๋ค.
๋ฐฐ์ด ๋ฉ์๋์ ๋นํด ๋ฐ๋ณต์ ํฌํผ์ ์ฃผ์ ์ฅ์ ์ ๋ฌดํ ๋ฐ๋ณต์์ ์์
ํ ์ ์๋ค๋ ์ ์
๋๋ค. ๋ฌดํ ๋ฐ๋ณต์์ ๊ฒฝ์ฐ, some()
๋ ์ฒซ ๋ฒ์งธ ์ฐธ ๊ฐ์ ๊ฐ์ ๋ฐ๊ฒฌํ๋ ์ฆ์ true
๋ฅผ ๋ฐํํฉ๋๋ค. callbackFn
์ด ํญ์ ๊ฑฐ์ง ๊ฐ์ ๊ฐ์ ๋ฐํํ๋ฉด, ์ด ๋ฉ์๋๋ ์ ๋ ๋ฐํ๋์ง ์์ต๋๋ค.
์์
some() ์ฌ์ฉํ๊ธฐ
function* fibonacci() {
let current = 1;
let next = 1;
while (true) {
yield current;
[current, next] = [next, current + next];
}
}
const isEven = (x) => x % 2 === 0;
console.log(fibonacci().some(isEven)); // true
const isNegative = (x) => x < 0;
const isPositive = (x) => x > 0;
console.log(fibonacci().take(10).some(isNegative)); // false
console.log(fibonacci().some(isNegative)); // ์ ๋ ์๋ฃ ์๋จ
some()
๋ฉ์๋๋ฅผ ํธ์ถํ๋ฉด ํญ์ ๊ธฐ๋ณธ ๋ฐ๋ณต์๋ฅผ ๋ซ์ต๋๋ค. ์ด๋ ๋ฉ์๋๊ฐ ์กฐ๊ธฐ์ ๋ฐํ๋๋ ๊ฒฝ์ฐ์๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. ๋ฐ๋ณต์๋ ์ ๋ ์ค๊ฐ ์ํ๋ก ๋จ๊ฒจ์ง์ง ์์ต๋๋ค.
const seq = fibonacci();
console.log(seq.some(isEven)); // true
console.log(seq.next()); // { value: undefined, done: true }
๋ช ์ธ์
Specification |
---|
ECMAScriptยฎ 2026 Language Specification # sec-iterator.prototype.some |
๋ธ๋ผ์ฐ์ ํธํ์ฑ
Loadingโฆ