TypeScript עדיין נחשבת לאופציה היחידה עבור פרוייקטים בינוניים ומעלה, בהם הפיתוח בJS b נחשב לקשה במיוחד\על גבול הבלתי אפשרי, מטרת המאמר שהזכרתי איננה לשלול את השימוש בTypeScript אלא לציין את מגבלותיה.
אני מצרף את הDesign Goals מתוך הWIki של TypeScript (שים לב להדגשות):
המטרות
Statically identify constructs that are likely to be errors
Provide a structuring mechanism for larger pieces of code
Impose no runtime overhead on emitted programs
Emit clean, idiomatic, recognizable JavaScript code
Produce a language that is composable and easy to reason about
Align with current and future ECMAScript proposals
Preserve runtime behavior of all JavaScript code
Avoid adding expression-level syntax
Use a consistent, fully erasable, structural type system
Be a cross-platform development tool
Do not cause substantial breaking changes from TypeScript 1.0
אינן המטרות
Exactly mimic the design of existing languages. Instead, use the behavior of JavaScript and the intentions of program authors as a guide for what makes the most sense in the language.
Aggressively optimize the runtime performance of programs. Instead, emit idiomatic JavaScript code that plays well with the performance characteristics of runtime platforms.
Apply a sound or "provably correct" type system. Instead, strike a balance between correctness and productivity.
Provide an end-to-end build pipeline. Instead, make the system extensible so that external tools can use the compiler for more complex build workflows.
Add or rely on run-time type information in programs, or emit different code based on the results of the type system. Instead, encourage programming patterns that do not require run-time metadata.
Provide additional runtime functionality or libraries. Instead, use TypeScript to describe existing libraries.
Introduce behavior that is likely to surprise users. Instead have due consideration for patterns adopted by other commonly-used languages.