Iterator.prototype.every()
Baseline
2025
æè¿å©ç¨å¯è½
March 2025以éããã®æ©è½ã¯ææ°ã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã³ãã©ã¦ã¶ã¼ã§åä½ãã¾ããå¤ã端æ«ããã©ã¦ã¶ã¼ã§ã¯åä½ããªããã¨ãããã¾ãã
every() 㯠Iterator ã¤ã³ã¹ã¿ã³ã¹ã®ã¡ã½ããã§ã Array.prototype.every() ã¨ä¼¼ã¦ãã¾ãããã®ã¤ãã¬ã¼ã¿ã¼ã«ãã£ã¦çæããããã¹ã¦ã®è¦ç´ ããæå®ããã颿°ã«ãã£ã¦å®è£
ããã試é¨ã«åæ ¼ãããã©ããã確èªãã¾ããè«çå¤ãè¿ãã¾ãã
æ§æ
every(callbackFn)
弿°
callbackFn-
ãã®ã¤ãã¬ã¼ã¿ã¼ã«ãã£ã¦çæãããåè¦ç´ ã«å¯¾ãã¦å®è¡ãã颿°ãè¦ç´ ã試é¨ã«åæ ¼ãããã¨ã示ãçå¤ãã¾ãã¯ããã§ãªããã°å½å¤ãè¿ããªããã°ãªãã¾ããããã®é¢æ°ã¯ã以ä¸ã®å¼æ°ã¨ã¨ãã«å¼ã³åºããã¾ãã
è¿å¤
callbackFn ããã¹ã¦ã®è¦ç´ ã«å¯¾ãã¦çå¤ãè¿ããå ´å㯠true ã§ããããã§ãªããã° false ã§ãã
解説
every() ã¯ã¤ãã¬ã¼ã¿ã¼ãå復å¦çããåè¦ç´ ã«å¯¾ãã¦ä¸åº¦ã㤠callbackFn 颿°ãå¼ã³åºãã¾ãã ã³ã¼ã«ããã¯é¢æ°ãå½å¤ãè¿ããå ´åã¯ããã ã¡ã« false ãè¿ãã¾ããããã§ãªãå ´åã¯ãã¤ãã¬ã¼ã¿ã¼ã®æå¾ã¾ã§å復å¦çãè¡ãã true ãè¿ãã¾ãã every() ã false ãè¿ããå ´åããã®ã¤ãã¬ã¼ã¿ã¼ã® return() ã¡ã½ãããå¼ã³åºãã¦çµäºãã¾ãã
ã¤ãã¬ã¼ã¿ã¼ãã«ãã¼ã®ä¸»ãªå©ç¹ã¯ãé
åã¡ã½ããããããé
å»¶çãã§ããã¨ãããã¨ã§ããã¤ã¾ããè¦æ±ãããã¨ãã«ã®ã¿æ¬¡ã®å¤ãçæããã¨ããæå³ã§ããããã«ãããä¸å¿
è¦ãªã³ã³ãã¥ã¼ã¿ã¼å¦çãé¿ãããã¨ãã§ããã¾ãç¡éã¤ãã¬ã¼ã¿ã¼ã§ã使ç¨ãããã¨ãã§ãã¾ããç¡éã¤ãã¬ã¼ã¿ã¼ã§ã¯ãevery() ã¯æåã®å½å¤ãå¾ãããã¨ããã« false ãè¿ãã¾ãããã callbackFn ã常ã«çå¤ãè¿ããå ´åãã¡ã½ããã¯çµäºãã¾ããã
ä¾
>every() ã®ä½¿ç¨
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().every(isEven)); // false
const isPositive = (x) => x > 0;
console.log(fibonacci().take(10).every(isPositive)); // true
console.log(fibonacci().every(isPositive)); // Never completes
every() ãå¼ã³åºãã¨ãã¡ã½ãããæ©æã«çµäºããå ´åã§ãã常ã«ãã®å
ã¨ãªãã¤ãã¬ã¼ã¿ã¼ãéãããã¾ãã ã¤ãã¬ã¼ã¿ã¼ãæªå®äºã®ç¶æ
ã§æ®ããããã¨ã¯ããã¾ããã
const seq = fibonacci();
console.log(seq.every(isEven)); // false
console.log(seq.next()); // { value: undefined, done: true }
仿§æ¸
| 仿§æ¸ |
|---|
| ECMAScript® 2027 Language Specification > # sec-iterator.prototype.every > |