ืขืก ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื• ืœื™ื™ื’ืŸ ืกื™ื ื˜ืึทืงืก ืžื™ื˜ ื˜ื™ืคึผ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืฆื• ื“ื™ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืฉืคึผืจืึทืš

ืžื™ื™ืงืจืึธืกืึธืคึฟื˜, ื™ื’ืึทืœื™ืึท ืื•ืŸ ื‘ืœื•ืžื‘ืขืจื’ ื”ืึธื‘ืŸ ื’ืขื ื•ืžืขืŸ ื“ื™ ืื™ื ื™ืฆื™ืื˜ื™ื•ื• ืฆื• ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืกื™ื ื˜ืึทืงืก ืื™ืŸ ื“ื™ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืกืคึผืขืกื™ืคื™ืงืึทื˜ื™ืึธืŸ ืคึฟืึทืจ ื™ืงืกืคึผืœื™ืกืึทื˜ ื˜ื™ืคึผ ื–ื•ืš, ืขื ืœืขืš ืฆื• ื“ื™ ืกื™ื ื˜ืึทืงืก ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ TypeScript ืฉืคึผืจืึทืš. ื“ืขืจื•ื•ื™ื™ึทืœ, ื“ื™ ืคึผืจืึธื•ื˜ืึทื˜ื™ื™ืคึผ ืขื ื“ืขืจื•ื ื’ืขืŸ ืคืืจื’ืขืœื™ื™ื’ื˜ ืคึฟืึทืจ ื™ื ืงืœื•ื–ืฉืึทืŸ ืื™ืŸ ื“ื™ ECMAScript ื ืึธืจืžืึทืœ ื–ืขื ืขืŸ ื“ืขืจืœืื ื’ื˜ ืคึฟืึทืจ ืคึผืจื™ืœื™ืžืึทื ืขืจื™ ื“ื™ืกืงื•ืกื™ืขืก (ืกื˜ืึทื’ืข 0). ืื™ืŸ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ื–ื™ืฆื•ื ื’ ืคื•ืŸ ื“ื™ TC39 ืงืึทืžื™ื˜ื™ ืื™ืŸ ืžืึทืจืฅ, ืขืก ืื™ื– ืคึผืœืึทื ื ืขื“ ืฆื• ืžืึทืš ืฆื• ื“ืขืจ ืขืจืฉื˜ืขืจ ื‘ื™ื ืข ืคื•ืŸ โ€‹โ€‹ื‘ืึทื˜ืจืึทื›ื˜ื•ื ื’ ืคื•ืŸ ื“ืขื ืคืึธืจืฉืœืึธื’ ืžื™ื˜ ื“ื™ ื™ื ื•ื•ืึทืœื•ื•ืžืึทื ื˜ ืคื•ืŸ ื“ื™ ืขืงืกืคึผืขืจื˜ ืงื”ืœ ืคื•ืŸ ECMA.

ืžื™ื˜ ื‘ืคื™ืจื•ืฉ ืกืคึผืขืกื™ืคื™ืขื“ ื˜ื™ืคึผ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื˜ ืœืึธื–ืŸ ืื™ืจ ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ืคื™ืœืข ืขืจืจืึธืจืก ื‘ืขืฉืึทืก ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึผืจืึธืฆืขืก, ืžืึทื›ืŸ ืขืก ืžืขื’ืœืขืš ืฆื• ื ื•ืฆืŸ ื ืึธืš ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ื˜ืขืงื ื™ืงืก, ืคืึทืจืคึผืึธืฉืขื˜ืขืจืŸ ื“ื™ื‘ืึทื’ื™ื ื’ ืื•ืŸ ืžืึทื›ืŸ ื“ื™ ืงืึธื“ ืžืขืจ ืœื™ื™ื ืขื•ื•ื“ื™ืง ืื•ืŸ ื’ืจื™ื ื’ืขืจ ืคึฟืึทืจ ืžืึทื“ืึทืคืึทืงื™ื™ืฉืึทืŸ ืื•ืŸ ืฉื˜ื™ืฆืŸ ื“ื•ืจืš ื“ืจื™ื˜-ืคึผืึทืจื˜ื™ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก. ื˜ื™ืคึผ ืฉื˜ื™ืฆืŸ ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื• ื–ื™ื™ืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“ ื•ื•ื™ ืึท ืึทืคึผืฉืึทื ืึทืœ ืฉื˜ืจื™ืš - ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืขื ื“ื–ืฉืึทื ื– ืื•ืŸ ืจื•ื ื˜ื™ืžืขืก ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ืฉื˜ื™ืฆืŸ ื˜ื™ืคึผ ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’ ื•ื•ืขื˜ ืื™ื’ื ืึธืจื™ืจืŸ ืึทื ืึทื˜ื™ื™ืฉืึทื ื– ืžื™ื˜ ื˜ื™ืคึผ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืื•ืŸ ืคึผืจืึธืฆืขืก ื“ื™ ืงืึธื“ ื•ื•ื™ ืคืจื™ืขืจ, ื˜ืจืขืึทื˜ื™ื ื’ ื˜ื™ืคึผ ื“ืึทื˜ืŸ ื•ื•ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ. ืึธื‘ืขืจ ื˜ื™ืคึผ ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’ ืžื›ืฉื™ืจื™ื ื•ื•ืขื˜ ืงืขื ืขืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ ื‘ื ื™ืžืฆื ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืฆื• ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ืขืจืจืึธืจืก ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ืคืึทืœืฉ ื ื•ืฆืŸ ืคื•ืŸ ื˜ื™ื™ืคึผืก.

ื“ืขืจืฆื•, ืื™ืŸ ืงืึทื ื˜ืจืึทืกื˜ ืฆื• ื˜ื™ืคึผ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืกืคึผืขืกื™ืคื™ืขื“ ืžื™ื˜ JSDoc ืึทื ืึทื˜ื™ื™ืฉืึทื ื– ืกืคึผืขืกื™ืคื™ืขื“ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ, ื“ื™ืจืขืงื˜ ืึธื ื•ื•ื™ื™ึทื– ืคื•ืŸ ื˜ื™ื™ืคึผืก ื’ืœื™ื™ึทืš ืื™ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœ ื“ืขืคึฟื™ื ื™ืฆื™ืข ืงืึทื ืกื˜ืจืึทืงืฉืึทื ื– ื•ื•ืขื˜ ืžืึทื›ืŸ ื“ื™ ืงืึธื“ ืžืขืจ ื•ื•ื™ื–ืฉืึทื•ื•ืึทืœ, ืคืึทืจืฉื˜ื™ื™ื™ืง ืื•ืŸ ื’ืจื™ื ื’ืขืจ ืฆื• ืจืขื“ืึทื’ื™ืจืŸ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, IDEs ืžื™ื˜ TypeScript ืฉื˜ื™ืฆืŸ ืงืขื ืขืŸ ื’ืœื™ื™ืš ื”ื•ื™ื›ืคึผื•ื ืงื˜ ืขืจืจืึธืจืก ืื™ืŸ ื˜ื™ื™ืคึผื˜ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืงืึธื“ ืึธืŸ ื ืึธืš ืงืึทื ื•ื•ืขืจื–ืฉืึทื ื–. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ื“ื™ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ื˜ื™ืคึผ ืฉื˜ื™ืฆืŸ ื•ื•ืขื˜ ืžืึทื›ืŸ ืขืก ืžืขื’ืœืขืš ืฆื• ืœื•ื™ืคืŸ ืžื’ื™ืœื” ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ื˜ื™ื™ืคึผื˜ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ื“ื™ื™ืึทืœืขืงืฅ, ืึทื–ืึท ื•ื•ื™ TypeScript ืื•ืŸ Flow, ืึธืŸ ื˜ืจืึทื ืกืคึผื™ืœื™ื ื’ ืคื•ืŸ ืื™ื™ืŸ ืฉืคึผืจืึทืš ืฆื• ืื ื“ืขืจืŸ.

ืขืก ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื• ืœื™ื™ื’ืŸ ืกื™ื ื˜ืึทืงืก ืžื™ื˜ ื˜ื™ืคึผ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืฆื• ื“ื™ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืฉืคึผืจืึทืš

ืฆื•ื•ื™ืฉืŸ ื“ื™ ื˜ื™ื™ืคึผืก, ืขืก ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื• ืœื™ื™ื’ืŸ "ืฉื˜ืจื™ืงืœ", "ื ื•ืžืขืจ" ืื•ืŸ "ื‘ื•ืœื™ืึทืŸ", ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ื•ื•ืขืŸ ื“ื™ืคื™ื™ื ื™ื ื’ ื•ื•ืขืจื™ืึทื‘ืึทืœื–, ืคื•ื ืงืฆื™ืข ืคึผืึทืจืึทืžืขื˜ืขืจืก, ื›ื™ื™ืคืขืฅ ืขืœืขืžืขื ื˜ืŸ, ืงืœืึทืก ืคืขืœื“ืขืจ, ื˜ื™ื™ืคึผื˜ ืขืจื™ื™ื– ("ื ื•ืžืขืจ []"). ืขืก ืื™ื– ืื•ื™ืš ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื• ืฆื•ืฉื˜ืขืœืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืžืขืจื“ื–ืฉื“ ื˜ื™ื™ืคึผืก ("ืฉื˜ืจื™ืงืœ | ื ื•ืžืขืจ") ืื•ืŸ ื“ื–ืฉืึทื ืขืจื™ืงืก. ืœืึธื–ืŸ ืจืขื ื˜ื’ืขื : ืฉื˜ืจื™ืงืœ; ืคึฟื•ื ืงืฆื™ืข ืœื™ื™ื’ืŸ (ืึท: ื ื•ืžืขืจ, ื‘: ื ื•ืžืขืจ) { ืฆื•ืจื™ืงืงื•ืžืขืŸ ืึท + ื‘; } ืฆื•ื‘ื™ื ื“ ืžืขื ื˜ืฉ { ื ืึธืžืขืŸ: ืฉื˜ืจื™ืงืœ; ืขืœื˜ืขืจ: ื ื•ืžืขืจ; } ืคึฟื•ื ืงืฆื™ืข ืคืึธืึธ (ืจืขื ื˜ื’ืขื : ื”) {ืฆื•ืจื™ืงืงื•ืžืขืŸ ืจืขื ื˜ื’ืขื ; } ืคึฟื•ื ืงืฆื™ืข foo (ืจืขื ื˜ื’ืขื : ืฉื˜ืจื™ืงืœ | ื ื•ืžืขืจ): ืฉื˜ืจื™ืงืœ | ื ื•ืžืขืจ {ืื•ื™ื‘ (ื˜ื™ืคึผ ืคื•ืŸ ืจืขื ื˜ื’ืขื  === ื ื•ืžืขืจ) { ืฆื•ืจื™ืงืงื•ืžืขืŸ ืจืขื ื˜ื’ืขื  + 1 } ืึทื ื“ืขืจืฉ { ืฆื•ืจื™ืงืงื•ืžืขืŸ ืจืขื ื˜ื’ืขื  + "!" } }

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’