Node.js wprowadza eksperymentalne wsparcie dla języka TypeScript

W kodzie źródłowym platformy Node.js przyjęto zmianę, która dodaje możliwość wykonywania plików z kodem w języku programowania TypeScript. Wsparcie dla języka TypeScript włącza się za pomocą opcji „—experimental-strip-types” i polega na usunięciu specyficznych dla tego języka definicji typów, tzn. przekształceniu przed wykonaniem kodu źródłowego na JavaScript. Możliwości TypeScript niezwiązane z opisem typów, takie jak przestrzenie nazw, dekoratory, właściwości parametrów i typy wyliczeniowe (enum), nie są póki co wspierane. Nową możliwość można przetestować, korzystając z dzisiejszych nocnych wersji Node.js 23.

Do translacji użyty został kompilator SWC (Speedy Web Compiler), napisany w języku Rust. Aby nie dodawać dodatkowych zależności do Node.js, użyto reprezentacji kompilatora swc/wasm-typescript, dostarczanej w postaci kodu pośredniego WebAssembly, która jest już wykorzystywana do tych samych celów w platformie Deno. Zmiana została dodana w odpowiedzi na liczne prośby użytkowników o możliwość uruchamiania kodu w TypeScript bez instalacji zewnętrznych loaderów i dodatkowych zależności. W konkurencyjnych platformach Deno i Bun wsparcie dla TypeScript było wprowadzone od samego początku.

Kluczową różnicą między TypeScript a JavaScript jest jawne określenie typów. Statyczna typizacja pozwala uniknąć wielu błędów w trakcie rozwoju, umożliwia stosowanie dodatkowych technik optymalizacji, upraszcza debugowanie oraz sprawia, że kod staje się bardziej czytelny i prostszy do modyfikacji i wsparcia przez zewnętrznych programistów. W dodanej do Node.js implementacji te możliwości TypeScript są tracone, ponieważ podczas translacji tekstów źródłowych na JavaScript weryfikacja typów nie jest przeprowadzana.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster