рдореИрдВ рдЗрд╕ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЙрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ:
function* numIterator(num: number) {
var n = parseInt(num.toString()).toString();
var length = n.length;
for (var i = length - 1; i >= 0 ; --i){
yield n.charAt(i);
}
}
Number.prototype[Symbol.iterator] = function() {
return numIterator(this.valueOf());
}
var num = 2387;
for (var n of num){ // Error in VSCode but It works fine in Chrome
console.log(n) // 7, 8, 3, 2
}
рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрддрд╛рдП рдмрд┐рдирд╛ Number
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдмрдврд╝рд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдм рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рд╣реИред рдЖрдкрдХреЛ рдЗрдЯрд░реЗрдЯрд░ рдШреЛрд╖рдгрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕ Number
рдХреА рдШреЛрд╖рдгрд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
interface Number {
[Symbol.iterator](): IterableIterator<string>;
}
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд╛рдЗрдк рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрддрд╛рдП рдмрд┐рдирд╛
Number
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдмрдврд╝рд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдм рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддрдХ рд╣реИред рдЖрдкрдХреЛ рдЗрдЯрд░реЗрдЯрд░ рдШреЛрд╖рдгрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлрд╝реЗрд╕Number
рдХреА рдШреЛрд╖рдгрд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: