48 / 58
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΈΠΏ-ΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (type-level programming)?
Type-level programming β ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ TypeScript Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ², Π° Π½Π΅ Π² ΡΠ°Π½ΡΠ°ΠΉΠΌΠ΅. Π’Ρ ΠΏΠΈΡΠ΅ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠ΅ΡΠ΅Π· conditional types, ΡΠΈΠΊΠ»Ρ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΊΡΡΡΠΈΡ ΠΈ mapped types, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· infer ΠΈ generic-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΠΎ ΡΡΡΠΈ ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ Π²Π½ΡΡΡΠΈ TypeScript, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.