Baseline Widely available
[Symbol.iterator]()
㯠String
å¤ã®ã¡ã½ããã§ãå復å¯è½ãããã³ã«ãå®è£
ãã¦ãããã¹ãã¬ããæ§æã for...of
ã«ã¼ããªã©ãå復å¯è½ãªãã¸ã§ã¯ããæå¾
ããã»ã¨ãã©ã®æ§æã§æååãå©ç¨ã§ããããã«ãã¾ããããã¯ãæååå¤ã® Unicode ã³ã¼ããã¤ã³ããåå¥ã®æååã¨ãã¦è¿ãæååã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ããè¿ãã¾ãã
const str = "The quick red fox jumped over the lazy dog's back.";
const iterator = str[Symbol.iterator]();
let theChar = iterator.next();
while (!theChar.done && theChar.value !== " ") {
console.log(theChar.value);
theChar = iterator.next();
// Expected output: "T"
// "h"
// "e"
}
æ§æ
string[Symbol.iterator]()
弿°
ãªãã
è¿å¤æ°ããå復å¯è½ãªã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ãã§ããã®æååã®å Unicode ã³ã¼ããã¤ã³ãããç¬ç«ããæååã¨ãã¦çæãã¾ãã
解説æåå㯠Unicode ã³ã¼ããã¤ã³ãã§å復å¦çããã¾ããã¤ã¾ããæ¸è¨ç´ ã¯ã©ã¹ã¿ã¼ã¯åå²ããã¾ããããµãã²ã¼ããã¢ã¯ä¿æããã¾ãã
// "Backhand Index Pointing Right: Dark Skin Tone"
[..."ðð¿"]; // ['ð', 'ð¿']
// åºæ¬ç㪠"Backhand Index Pointing Right" ã®çµµæåã¨
// "Dark skin tone" ã®çµµæåã«åå²
// "Family: Man, Boy"
[..."ð¨âð¦"]; // [ 'ð¨', 'â', 'ð¦' ]
// "Man" 㨠"Boy" ã®çµµæåã«åå²ããã ZWJ ã§çµåããã¾ãã
ä¾ for...of ã«ã¼ããç¨ããå復å¦ç
ãã®ã¡ã½ãããç´æ¥å¼ã³åºãå¿
è¦ã¯ã»ã¨ãã©ãªããã¨ã«æ³¨æãã¦ãã ããã[Symbol.iterator]()
ã¡ã½ãããåå¨ãããã¨ã§ãæååã¯å復å¯è½ã«ãªããfor...of
ã«ã¼ãã®ãããªå復å¦çæ§æã¯èªåçã«ãã®ã¡ã½ãããå¼ã³åºãã¦ãã«ã¼ãããã¤ãã¬ã¼ã¿ã¼ãåå¾ãã¾ãã
const str = "A\uD835\uDC68B\uD835\uDC69C\uD835\uDC6A";
for (const v of str) {
console.log(v);
}
// "A"
// "\uD835\uDC68"
// "B"
// "\uD835\uDC69"
// "C"
// "\uD835\uDC6A"
ã¤ãã¬ã¼ã¿ã¼ãæåã§æç¹°ã
å復å¦çãæå¤§éã«å¶å¾¡ããããã«ãè¿ãã¤ãã¬ã¼ã¿ã¼ãªãã¸ã§ã¯ãã® next()
ã¡ã½ãããæåã§å¼ã³åºããã¨ãã§ãã¾ãã
const str = "A\uD835\uDC68";
const strIter = str[Symbol.iterator]();
console.log(strIter.next().value); // "A"
console.log(strIter.next().value); // "\uD835\uDC68"
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4