awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
tc39 avatar

tc39/proposal-type-annotations

0
View on GitHub↗
4,386 Stars·52 Forks·JavaScript·3 Aufrufetc39.es/proposal-type-annotations↗

Proposal Type Annotations

This is an ECMAScript proposal that adds static type syntax to JavaScript, enabling type checking without a separate transpilation step. The proposal defines a standard for type annotations, interfaces, generics, and type imports and exports that are stripped during execution, allowing code to run natively in existing JavaScript engines while still being validated by external type checkers.

The proposal introduces generic type parameters using angle-bracket syntax on functions, classes, and type declarations, which are removed at runtime. It also provides syntax for type annotations on variables, parameters, class members, and function signatures, all of which are treated as non-executable metadata. Additional capabilities include type assertions, optional parameter marking, typed this parameters, and reusable type aliases created with type and interface declarations.

Type definitions can be shared across modules using import type and export type statements that are ignored at runtime and do not trigger module resolution. The proposal covers class member type annotations, generic type argument specification, and generic type parameter declaration, all designed to be stripped away during execution.

Features

  • ECMAScript Type Specifications - Defines a standard for type syntax, interfaces, generics, and type imports/exports stripped at runtime.
  • Runtime-Stripped Generic Parameters - Introduces angle-bracket generic type parameters that are removed during execution.
  • Variable Type Declarations - Attaches type information to variable declarations and function parameters using colon syntax.
  • Runtime-Ignored Type Execution - Treats type annotations on variables, parameters, and class members as non-executable metadata.
  • Type Annotation Stripping - Annotates JavaScript with static type syntax that is stripped at runtime for direct execution.
  • Non-Compiled Static Typing - Adds runtime-ignored type annotations to JavaScript for static type checking without compilation.
  • Explicit Type Argument Syntax - Provides syntax for specifying explicit type arguments in generic calls and instantiations.
  • Type Parameter Declaration Syntax - Defines type parameters on functions, classes, and type declarations using angle brackets.
  • Type-Only Imports - Shares type definitions across modules using import/export statements ignored at runtime.
  • Named Type Aliases - Creates named types with type and interface declarations that are stripped at runtime.
  • Class Member Annotations - Attaches types to class properties, methods, and constructor parameters for validation.
  • Static Type Assertions - Overrides inferred types using assertion syntax without any runtime effect.
  • Static Type Checking - Validates code with static analysis while keeping the runtime module graph free of type information.

Star-Verlauf

Star-Verlauf für tc39/proposal-type-annotationsStar-Verlauf für tc39/proposal-type-annotations

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Proposal Type Annotations

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Proposal Type Annotations.
  • microsoft/typescript-handbookAvatar von microsoft

    microsoft/TypeScript-Handbook

    4,855Auf GitHub ansehen↗

    This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental principles of the language, including its structural type system, static type analysis, and the process of transpiling typed source files into JavaScript. The material details how to model complex data and reusable type logic using generics, conditional types, and mapped types. It also explains the use of declaration files to provide type safety for external JavaScript libraries and the integration of type checking into existing JavaScript projects via JSDoc annotations. The

    JavaScriptdocumentationlearntypescript
    Auf GitHub ansehen↗4,855
  • gibbok/typescript-bookAvatar von gibbok

    gibbok/typescript-book

    10,317Auf GitHub ansehen↗

    The Concise TypeScript Book: A Concise Guide to Effective Development in TypeScript. Free and Open Source.

    JavaScriptbookfreejavascript
    Auf GitHub ansehen↗10,317
  • alangpierce/sucraseAvatar von alangpierce

    alangpierce/sucrase

    5,860Auf GitHub ansehen↗

    Sucrase is a high-speed transpilation tool that compiles modern JavaScript, TypeScript, JSX, and Flow to standard JavaScript for modern runtimes. It operates as a fast alternative to Babel, using a single-pass scanner and tokenizer that strips type annotations and applies only requested syntax transforms without building an AST or performing type checking. The tool differentiates itself through a zero-type-checking pipeline that omits type checking entirely, relying on the assumption that input code is already valid for the target runtime. It uses scanner-based tokenization and single-pass co

    TypeScriptcompileres-modulesjavascript
    Auf GitHub ansehen↗5,860
  • facebook/flowAvatar von facebook

    facebook/flow

    22,232Auf GitHub ansehen↗

    Flow is a JavaScript static type checker and AST parser that identifies type errors and prevents runtime failures through static annotations. It functions as a code intelligence engine and a static analysis linter to identify unsafe coding patterns and enforce consistency across a codebase. The project includes a type annotation stripper that removes static type signatures from source code, ensuring the resulting JavaScript is compatible with any runtime environment. It also provides a parser that converts typed JavaScript into an abstract syntax tree conforming to the ESTree specification.

    Rust
    Auf GitHub ansehen↗22,232
Alle 30 Alternativen zu Proposal Type Annotations anzeigen→

Häufig gestellte Fragen

Was macht tc39/proposal-type-annotations?

This is an ECMAScript proposal that adds static type syntax to JavaScript, enabling type checking without a separate transpilation step. The proposal defines a standard for type annotations, interfaces, generics, and type imports and exports that are stripped during execution, allowing code to run natively in existing JavaScript engines while still being validated by external type checkers.

Was sind die Hauptfunktionen von tc39/proposal-type-annotations?

Die Hauptfunktionen von tc39/proposal-type-annotations sind: ECMAScript Type Specifications, Runtime-Stripped Generic Parameters, Variable Type Declarations, Runtime-Ignored Type Execution, Type Annotation Stripping, Non-Compiled Static Typing, Explicit Type Argument Syntax, Type Parameter Declaration Syntax.

Welche Open-Source-Alternativen gibt es zu tc39/proposal-type-annotations?

Open-Source-Alternativen zu tc39/proposal-type-annotations sind unter anderem: microsoft/typescript-handbook — This project is a comprehensive guide and educational resource for the TypeScript language. It covers the fundamental… gopl-zh/gopl-zh.github.com — This project is a Chinese translation of a comprehensive guide to the Go programming language. It serves as a… alangpierce/sucrase — Sucrase is a high-speed transpilation tool that compiles modern JavaScript, TypeScript, JSX, and Flow to standard… facebook/flow — Flow is a JavaScript static type checker and AST parser that identifies type errors and prevents runtime failures… gibbok/typescript-book — The Concise TypeScript Book: A Concise Guide to Effective Development in TypeScript. Free and Open Source. rust-lang/rust-by-example — This project is an interactive programming education resource and tutorial designed for learning the Rust programming…