Π― Π²ΠΈΠΆΡ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
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
ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ Π² Π²Π°Ρ ΡΠ°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡ ΠΎΡ ΠΎΡΠΈΠ±ΠΊΠΈ: