TypeScript 6.0 và tương lai dựa trên Go của nó

Cập nhật lần cuối: 03/18/2026
  • TypeScript 6.0 là bản phát hành lớn cuối cùng của trình biên dịch JavaScript và chuẩn bị cho các dự án chuyển sang TypeScript 7.0 dựa trên Go sắp ra mắt.
  • Bản cập nhật này siết chặt các thiết lập mặc định (chế độ nghiêm ngặt, các mục tiêu ES hiện đại, các mô-đun ESM), bổ sung các API nền tảng mới và giới thiệu cờ sắp xếp kiểu ổn định.
  • Nhiều tùy chọn và định dạng mô-đun cũ (ES5, AMD/UMD/SystemJS, baseUrl, độ phân giải cổ điển) sẽ bị loại bỏ trước khi được gỡ bỏ hoàn toàn trong phiên bản 7.0.
  • Việc viết lại bằng ngôn ngữ Go hứa hẹn mang lại hiệu suất cao hơn khoảng 7-10 lần, giảm mức sử dụng bộ nhớ và cải thiện khả năng tương tác của trình soạn thảo đối với các codebase lớn.

TypeScript 6.0 tương lai dựa trên Go

TypeScript 6.0 sẽ giống như một phiên bản đặc biệt: không có phiên bản nào lặp lại nhiều hơn, nó có thể là một phiên bản nhỏ được xây dựng để biên dịch thực tế bằng JavaScript, el mismo que viene evolucionando desde los primeros días del proyecto. Một phần của trang này, tất cả những gì bạn cần làm là sử dụng TypeScript 7.0, một bản tái hiện bản ghi tự nhiên và được viết để cung cấp các trình biên dịch nhanh hơn, giúp sử dụng bộ nhớ và một dịch vụ lenguaje nhiều phản ứng với các biên tập viên như VS Code.

Trong thực tế, TypeScript 6.0 hoạt động như một cách dễ dàng để giải quyết vấn đề này dòng 5.9 và tương lai 7.0: ajusta por defo manyas opciones de compilación para alinelas con la realidad Moderna del ecosistema JavaScript, limit nuevas capcidades de tipado and APIs estándar, and al mismo tiempo depreca buena parte de la herencia acumulada durante más de una decada (mục tiêu chống vi khuẩn, hệ thống mô-đun lỗi thời và banderas de configuración que ya no tienen sendido en 2026). Tất cả những gì bạn đang làm, trong thực tế, là mô hình sai lầm mà bạn có thể tìm thấy.

TypeScript 6.0 là phiên bản cuối cùng của trình biên dịch cổ điển

Microsoft đã phát hiện ra rằng TypeScript 6.0 là phiên bản cuối cùng của thị trưởng được duy trì bằng cách sử dụng trình biên dịch bằng JavaScript, lịch sử giống như “Strada”. Một phần của phiên bản 7.0, nhân vật chính có phần phụ trợ mới tự nhiên trên Go, con nombre trong khu vực “Corsa”, mà nó được cung cấp theo hình thức xây dựng ban đêm và một phần mở rộng đặc biệt cho VS Code định hướng cho các sự kiện thực tế.

Esta reescritura en Go no cambia el lenguaje en sí, sino la tecnología empleada para analizar, chequear y, cuando se necesite, phát ra JavaScript. El objetivo es atacar de frente problemas que se han ido haciendo más showss con los años: tiempos de arranque lentos del servicio de lenguaje en proyectos grandes, compilaciones que se alargan minutos en CI and un consumo de memoria elevado cuando el tamaño del monorepo se dipara.

Công cụ này đã công khai các kết quả thu được nhiều lợi ích so sánh công cụ biên dịch thực tế với sản phẩm tự nhiên và thực tế. Bạn có thể làm như vậy với Mã VS (đã tính 1,5 triệu đô la trực tuyến) chậm hơn 77,8 giây trong một phân tích hoàn chỉnh với trình biên dịch clásico một năm 7,5 giây với trình biên dịch trên Go, được tính là nhiều hơn 10 năm nhanh hơn. Nhà viết kịch, với 356.000 lượt truy cập, baja de 11,1 giây đến 1,1, và TypeORM, với 270.000 lượt truy cập, từ 17,5 đến 1,3.

Số không có hàm ý đơn độc xây dựng tốc độ nhanh hơn trên CI; también cambian la kinh nghiệm nhật ký và biên tập viên. Trong phần riêng của VS Code, bạn có thể sắp xếp dịch vụ ghi nhớ khoảng 9,6 giây đến 1,2, với một mức giảm bộ nhớ trong một thời gian ngắn. Cho dù có nhiều trang bị, điều này có ý nghĩa quan trọng vì bạn không cần phải chấp nhận như một “bình thường” đặc biệt có nhiều cách tiếp cận khác nhau khi bạn không có biên tập viên hoặc bị đẩy ra khỏi cuộc kiểm tra hoàn chỉnh tsc --noEmit.

El salto de rendimiento no viene solo del hecho de compilar a código nativo, sino también de la capcidad de usar multi-threading with memoria compartida. Trình biên dịch và có thể cung cấp khả năng phân tích song song trong một dự án đơn giản và cũng có thể sắp xếp việc biên soạn nhiều dự án và có thể tham khảo nhân viên về dự án và phương thức --build. Tất cả mọi thứ đều được kết hợp với một cách triển khai các phần tổng hợp mới.

Tương lai của trình biên dịch TypeScript trong Go

¿Tại sao bạn nên viết lại TypeScript trên Go và no En Rust của bạn?

Một trong những quyết định mới nhất là bình luận về cuộc bầu cử đi như một công cụ biên dịch mới, và trên lugar của Rust, C++ và các tùy chọn khác có tính chất kết hợp với các kết xuất khác. Trước hết, bạn có thể bắt đầu làm việc với một hệ sinh thái có nhiều công cụ tạo ra thế hệ mới (SWC, oxc, v.v.) mà bạn đang tìm kiếm trên Rust.

Trang bị cho TypeScript có nhiều động cơ thực hành khác nhau để bắt đầu từ Go: por un lado, su recolector de basura se Adapta muy bien a los người bảo trợ de asignación de memoria que exhibe un compilador, reduciendo la carga de gestionar manualmente la memoria en un codigo de esta complejidad. Bởi vì, cấu trúc của văn bản và mô hình mẹo được cho phép một giao dịch tương đối trực tiếp từ loại TypeScript tồn tại, trái ngược với nó xâm nhập nhiều hơn mà bạn có thể chuyển sang Rust.

Bạn có thể làm nhiều việc để tạo ra các tập tin Go: một lenguaje sencillo, con pocas formas “creativas” de hacer lo mismo và một fuerte định hướng cho la claridad del código. Bạn có thể tìm kiếm một quy trình phê bình và quy mô lớn như trình biên dịch TypeScript, điều này đã giúp bạn tạo ra một mô hình chi phí và một cơ sở có thể truy cập nhiều hơn cho các cộng tác viên trong tương lai.

Vì lý do tối thiểu, không có ý kiến ​​phê bình nào về Rust, đó là một cách thực hành phù hợp với ngôn ngữ Go và văn hóa TypeScript. Ambos lenguajes tienden a Priorizar que las cosas “simplemente funcionen” de forma predeprecable, por encima de la experienceación con rasgos de lenguaje avanzados or modelos de memoria extremadamente sofisticados que podrían complicar la vida diaria del Equipmento.

Trong song song với trình biên dịch, quá trình di chuyển cũng có thể áp dụng sâu hơn về Giao thức của Dịch vụ Lenguaje (LSP), bạn có thể tạo điều kiện thuận lợi cho các biên tập viên phân biệt mã VS có thể hiểu nhầm “thành ngữ” với phần phụ trợ mới và được hưởng lợi từ việc kết xuất của bạn phụ thuộc vào các tích hợp đặc biệt.

Đây là một cổng thực tế của TypeScript 6.0 đây

Sau đây là tất cả những chú ý về phương tiện truyền thông để thu thập công cụ biên dịch trên Go, TypeScript 6.0 giới thiệu những cambios thực tế và hiển thị trong ngày hôm nay, vì vậy, tất cả những điều cần làm về hình thức giá trị mới vì khiếm khuyết, các mẹo và giải pháp cụ thể cho las últimas cụ thể về JavaScript. Ý tưởng đó là, có thể sử dụng phiên bản 7.0, quá trình chuyển đổi biển có thể dễ dàng hơn nhờ thị trưởng dự án và bạn có thể chấp nhận quy định mới của trò chơi.

Một trong những cambios ngôi sao es que el modo esstricto (strict) đã được kích hoạt bởi lỗi. Durante años, muchas guías recomendaban arrancar cualquier proyecto serio con "strict": true, pero el valor por de deguía siendo false. 6.0 giả sử rằng thị trưởng desarrollos hiện đại đã ưu tiên một mô hình mẹo nhỏ cấp bách hơn và dự trữ tùy chọn hủy kích hoạt cho các điểm chấm mà bạn có thể khám phá "strict": false en tsconfig.json.

Bạn có thể thực tế hóa các mối quan hệ mặc định với môdulos và mục tiêu. Giá trị mới của sự khiếm khuyết module es esnext, phản ánh rằng hệ sinh thái đã được xác định rõ ràng bởi ESM với tư cách là định dạng chính, bạn được hướng dẫn trên biển về Node.js và điều hướng hiện đại hoặc đi qua một gói. A su vez, el target ngụ ý về một phiên bản ECMAScript gần đây nhất mà TypeScript sử dụng (thực tế es2025), một bộ phim có tính phổ biến toàn diện về thời gian chạy thường xanh và tối ưu hóa cho các nền tảng cũng như phiên bản ES5.

Một điểm mới quan trọng nữa là noUncheckedSideEffectImports viene ahora được kích hoạt bởi kẻ đào tẩu. Tùy chọn này giúp một công cụ phát hiện nhập khẩu tự mình thực hiện bởi các hiệu ứng thứ hai và thực đơn để thoát ra khỏi các lỗi hoặc phụ thuộc mà bạn thực sự có thể tham khảo các hình thức khám phá về nó. Kích hoạt loạt danh sách nâng cao sức mạnh của các sản phẩm mới.

Thay vào đó, tùy chọn libReplacement nếu bạn ngừng hoạt động vì khiếm khuyết, bạn sẽ không có lợi ích gì khi định cấu hình các thiết bị khác, nếu có lệnh cấm vận, bạn sẽ phải trả chi phí bằng hình thức giải pháp modulo Fallidas. Con la xu hướng nói chung là đơn giản hóa ya no pagar por lo que no se usa, lo razonable era apagarla salvo que un proyecto la necesite concientemente.

Cambios en inferencia và tipado: menos sensibilidad al contexto en funciones sin this

Được bổ sung để điều chỉnh cấu hình, TypeScript 6.0 bao gồm các cải tiến thú vị và có một số mẹo nhỏ và một số vấn đề bảo trợ của khách hàng. Một caso clásico se daba al pasar blackes de objeto con métodos donde una de las funciones tenía parámetros sin anotar and dependency del genérico inferido a partir de otra propiedad, lo que podía romperse según el orden de las claves.

Đặc biệt, las funciones escritas con sintaxis de phương pháp tienen un parámetro this ngụ ý rằng bạn có thể biên dịch các lệnh gọi lại như “có ý nghĩa trong bối cảnh”. Cuando la inferencia de tipos para un genérico và la obtención del tipo theo ngữ cảnh tiraban và hướng dẫn các phương án, TypeScript thích các cuộc gọi lại theo kiểu muối hora de suy luận, và acababa marcando như unknown các yếu tố thực tế đã xác định sự hoàn hảo của các phần khác nhau theo nghĩa đen của đối tượng.

Trong phiên bản 6.0, trình biên dịch đã xem xét chức năng của nó không hợp lý trong bối cảnh của nó this Nuca se utiliza dentro de su cuerpo. Đây là hình thức, một chức năng được tuyên bố như một phương pháp mà không cần phải tham khảo this công thức này có thể tương tự như một chức năng mũi tên, bạn có thể cho phép cung cấp thông tin như một phương pháp cung cấp thông tin cho các mẹo, độc lập về trật tự của nguồn cung cấp và đối tượng.

Điều này có thể làm giảm một cách chính xác một phân loại các loại sai sót có thể gây nhầm lẫn, đồng thời giúp giải quyết vấn đề và loại lỗi suy luận như unknown sin entender muy bien por qué. Se trata de un cambio de ergonomía pura: el modelo de tipos subyacente no cambia, pero la heurística de inferencia se alinea mejor con lo que la thị trưởng desarrolladores Espera que ocurra en estos casos sencillos.

Nhập đường dẫn con với prefijo #/ y mejoras en resolución de modulos

TypeScript 6.0 có thể được cung cấp với một cổng nhập khẩu đường dẫn phụ theo cuối cùng của các đặc điểm cụ thể của Node.js. Hasta hace poco, al declarar el campo imports en package.json, los bí danh internos debían empezar con # seguido de algún texto, bởi ejemplo #root o #utils. Kết quả là hạn chế này có thể làm cho tùy tiện có thể bị cản trở bởi bí danh thời đại, trong thực tế, có thể là một tiền đề có thể thiết lập được cho việc sản xuất.

Các phiên bản gần đây của Node 20 cho phép xác định đường dẫn phụ để sắp xếp con #/, es decir, sin un identificador “intermedio” obligatorio. Đơn giản hóa các quy tắc có thể có thói quen, tương tự như lo que muchos desarrolladores ya usan con Bundlers, donde se prefiere @/... o #/... như một câu chuyện lôgica của dự án.

TypeScript kết hợp với các công cụ này trong bajo các phương thức giải quyết mô-đun node20, nodenext y bundler. Điều này có ý nghĩa quan trọng đối với những dự án mà bạn có thể sử dụng "imports": { "#": "./dist/index.js", "#/*": "./dist/*" } en package.json bạn có thể gặp khó khăn trong việc tự động hoàn thành và giải quyết các mẹo kết hợp với hình thức mà Node tiếp tục thực hiện các lỗi đó.

Một số phương pháp thực hành tích cực trong hội thảo kết hợp --moduleResolution bundler với --module commonjs. Hasta ahora, la resolución bundler estaba limitada a módulos esnext o preserve, nhưng với sự giảm giá của --moduleResolution node (Bí danh node10), rất nhiều cơ sở để có thể phát ra CommonJS cần một phương pháp di chuyển có thể phân chia được. Đây là sự kết hợp rất chính xác với màu sắc.

La bandera mới –stableTypeOrdering và chuẩn bị cho paralelismo en 7.0

Một trong những cấu trúc cambios sâu sắc nhất của trình biên dịch bản địa và 7.0 là việc áp dụng một mô hình phân tích song song thực tế, có nhiều “trabajadores” có thể được sửa lại bằng cách sử dụng tổng hợp và hình ảnh các mẹo và song song. Đây là một vấn đề tò mò: nếu ID nội bộ của mẹo và biểu tượng phụ thuộc vào thứ tự và kết quả là bạn có thể không xác định được liệu có thể đặt lịch truy cập vào trang web hoàn hảo của mình hay không.

Trong trình biên dịch thực tế, các mẹo nhận được một số nhận dạng tăng dần theo thứ tự và bạn muốn có ID sử dụng, trong các cosas khác, để sắp xếp các liên kết và danh sách các tài sản. Eso explica por que en 5.x orden de un tipo likeo 100 | 500 podía invertirse a 500 | 100 si se introducía una constante theo nghĩa đen 500 antes que cualquier đề cập đến một 100 trong file.

Trong 7.0 đây là một công việc không thể chấp nhận được, vì vậy việc đưa ra những điều có thể khiến quá trình này trở nên khác biệt, tạo ra nhiều loại khác nhau cho chương trình sai lầm. Giải pháp này giúp bạn đưa ra một thuật toán xác định thứ tự cơ bản trong nội dung các mục tiêu bị cản trở và đơn giản là một cách để giải quyết. Đây là cách, la misma unión siempre se imprimirá de la misma forma (100 | 500, ví dụ), sự độc lập của nó có thể được phản hồi lại.

Để giúp bạn trang bị bộ phát hiện sự khác biệt trước khi di chuyển, TypeScript 6.0 giới thiệu tùy chọn --stableTypeOrdering. Trong quá trình kích hoạt, trình biên dịch clásico đã áp dụng một chiến lược sai lầm về quy tắc sử dụng 7.0, giảm bớt khả năng so sánh các lỗi trong các phiên bản ambas, đặc biệt là các thông tin khai báo phát ra và thông báo lỗi.

Bạn phải nhớ rằng --stableTypeOrdering kiếm được một khoản chi phí đáng kể, với mức thu nhập tối đa là 25% trong một số dự án. Khuyến nghị chính thức sử dụng hình thức hoạt động trong thời gian di chuyển hoặc làm hỏng sự khác biệt, không giống như cấu hình vĩnh viễn và tất cả các lỗ hổng.

Mục tiêu mới và API nền tảng: es2025, Temporal, upsert và RegExp.escape

TypeScript 6.0 kết hợp mục tiêu và kết hợp các thư viện es2025 rất nhiều cho target như đối với lib. Sau đó ES2025 không giới thiệu các công trình xây dựng mới, vì vậy hợp nhất các API khác nhau sẽ giúp bạn hoàn thiện quy trình thiết lập này, giống như vậy RegExp.escape, nuevos métodos en Promise, colecciones e iteradores.

En este nuevo nivel, algunas declaraciones que antes vivían bajo esnext chuyển tới es2025bao gồm Promise.try, nuevos métodos de Iterator y operaciones añadidas a Set. Bạn có thể cho phép bạn dự đoán đơn giản về việc hợp nhất các thông tin gần đây hơn về các API sử dụng mà bạn có thể chọn để làm tất cả các kết hợp "thử nghiệm" esnext.

Một trong những nhân vật chính vĩ đại nhất trong 6.0 là sự kết hợp các mẹo cho API tạm thời, la esperada sustituta de Date trong JavaScript. Tạm thời, bạn ở giai đoạn 3 và camino de ser kết hợp một la plataforma, ofrece tipos precisos para instantes, fechas, horas, zonas horarias và lịchios, và evita muchos de los errores clásicos asociados al sistema de fechas thực tế.

TypeScript giải thích các mẹo tạm thời có thể được thực hiện esnext o se indica explícitamente "lib": o "esnext.temporal". Bạn có thể thử nghiệm với Thời gian tạm thời trong thời gian chạy mà bạn có thể sử dụng hoặc các polyfill trung bình, với cách hoàn thành tự động hoàn thành và kiểm tra mẹo.

Một điều mới mẻ nữa là sự cố về timbito de thu thập là một phương tiện để giải quyết các phương pháp “tăng cường” de Map y WeakMap: getOrInsert y getOrInsertComputed. Chính thức hóa một tài sản ECMAScript que ha alcanzado giai đoạn 4, estos phương pháp mã hóa một người bảo trợ có thể thường xuyên: “si tồn tại la clave, úsala; si no, Inserta este valor (o el resultado de esta función) y devuélvelo”.

với getOrInsert, el código que antes hacía một giây an toàn has, get, set y almacenamiento tạm thời puede giảm bớt một una llamada clara y tipada. Y getOrInsertComputed cho phép khôi phục lại giá trị của bạn vì khiếm khuyết đã vội vàng xác nhận rằng la clave không có giá trị hiện tại, lo que evita costes innecesarios cuando las rutas de ejecución raramente requieren el fallback.

En paralelo, 6.0 tipa la nueva función estática RegExp.escape, được đề xuất bởi TC39. Phương pháp này đã tạo ra một phương pháp và phát triển một phiên bản thoát khỏi khoảng cách giữa các ngôn ngữ liên cực trong các văn bản biểu đạt thông thường, tự do viết ra các bản ghi nhớ người bảo trợ cho việc trốn thoát và giảm các lỗ hổng bảo mật hoặc các lỗi trong văn bản.

Cập nhật DOM và thư viện toàn cầu: tích hợp dom.iterable và cấu hình lại thư viện

Thư viện DOM của TypeScript cũng có sẵn một phần nhỏ trong ngày 6.0Các tập tin lib.dom.iterable.d.ts y lib.dom.asynciterable.d.ts, que antes se incluían opcionalmente para entornos sin soporte de Iterable y AsyncIterable, xem xét một phần tích phân của lib.dom.d.ts.

Trong thực tế, điều này có ý nghĩa quan trọng vì bạn không cần phải làm gì "dom.iterable" a la matriz "lib" để có thể lặp lại trực tiếp các bộ sưu tập DOM như NodeList o HTMLCollection. Với "lib": basta, algo logico en un mundo en el que los navegadores sin soporte de iteradores son practicamente inexasse.

Nếu bạn có một dự án bạn đã tuyên bố dom như dom.iterable, bạn có thể đơn giản hóa cấu hình của mình để đảm bảo chức năng của nó. Những cuốn sách bổ sung có thể được thêm vào, nhưng bạn có thể lưu trữ các phần phụ của nó để có được một vị trí trống porque todo su contenido se ha fusionado với la librería performance del entorno web.

Một cambio de mucho más calado afecta al campo types de compilerOptions en tsconfig.json. Hasta ahora, cuando types no se especaba, TypeScript escaneaba node_modules/@types và bao gồm các hình thức ngụ ý tất cả các gói tiền boa được cung cấp, giới thiệu về nhịp timbito các quy trình tương tự toàn cầu @types/node, @types/jest và các gói hàng khác, một số thứ không bị mất đi sự quan trọng trực tiếp.

Điều này có nghĩa là một chi phí quan trọng trong các dự án lớn hoặc đơn lẻ có thể cùng tồn tại với các khoản phụ thuộc chuyển tiếp các mẹo, además de introducir ruido và posibles xung đột với các định nghĩa toàn cầu mà bạn thực sự không cần thiết phải làm. En 6.0, giá trị của lỗi do lỗi types pasa a ser un array vacío [].

Consecuencia práctica es que, a partir de ahora, los proyectos deben declarar explícitamente que paquetes de tipos Globales desean cargar, por ejemplo "types": . Phần lớn trang bị cho bạn một bộ sưu tập hợp lý (với 20% và 50% tách biệt với dữ liệu của Microsoft) đơn giản bằng cách loại bỏ hàng hóa bừa bãi mà bạn sử dụng.

Để làm điều này, bạn cần phải có một công cụ hỗ trợ chống lại “cargarlo todo”, hãy tồn tại theo lựa chọn của bạn "types": , que phản ứng lại bảng liệt kê masiva de @types. Không có gì cản trở, lời khuyên về trang bị hữu ích được chọn lọc và liệt kê một mình các gói cần thiết, nhưng nó sẽ được cung cấp như một cách dự đoán.

rootDir, tsconfig và các điều chỉnh khác của các tập tin

Cambio cambio có liên quan đến cấu hình bị lỗi là ngữ nghĩa mới rootDir. Trước hết, bạn không nên chỉ ra cách thể hiện, TypeScript suy luận về công việc của dự án như một đạo diễn với nội dung tất cả các kho lưu trữ được nhập vào mà không cần khai báo. Bạn có nghĩa vụ phải biên dịch một cách phân tích tất cả các công việc lưu trữ trước khi bao gồm empezar một bộ phát ra, phức tạp hóa lôgica và một khoản chi phí.

En 6.0, giá trị của lỗi do lỗi rootDir pasa a ser simplemente el Directorio donde vive el tsconfig.json. Solo en el caso de ejecutar tsc desde la online de comandos sin fichero de configuración se sigue aplicando la heurística de inferir la raíz a partir de los archives de entrada.

Nếu bạn có một dự án được gửi đến mà tôi có thể làm việc với bạn, bạn có thể làm điều đó, bởi ejemplo, en ./src y esperaba que los archives compilados acabasen directamente en ./dist, ahora puede encontrarse con rutas như ./dist/src/index.js. Giải pháp rõ ràng và cấu hình như vậy "rootDir": "./src" y ajustar el patrón de include ở consecuense.

Tồn tại một trong những điều quan trọng nhất là cambio trong công cụ CLI có thể được yêu cầu tsc con nombres de archive en undirectorio que ya contiene un tsconfig.json. Bây giờ, bạn đã bỏ qua cấu hình của mình, nhưng bạn đang lo lắng về việc tạo ra nhiều sự nhầm lẫn về các tùy chọn mà bạn có thể áp dụng thực tế. Một phần của 6.0, nó tạo ra một lỗi giải thích, đi kèm với thông báo que tsconfig.json no se cargará mientras se sigan pasando archives en la online de comandos.

Nếu ý định đó bị bỏ qua một cách chính xác tsconfig.json và biên soạn các bản lưu trữ theo mẫu đặc biệt, tồn tại một lá cờ mới --ignoreConfig đó là một lỗi không hoạt động và nó đã được kích hoạt tsc với những giá trị của nó bị lỗi, tôi đã làm điều đó với cấu hình của dự án.

Các phần không dùng nữa: ES5, hệ thống môdulos clásicos, baseUrl và más

Một phần duy trì của TypeScript 6.0 bao gồm một dấu hiệu lỗi thời hoặc trực tiếp loại bỏ các tùy chọn và các công cụ mà bạn không thể tham gia vào hệ sinh thái thực tế. Tất cả những điều này đã bị giảm giá trị khi bạn có thể “im lặng” ở mức trung bình 6.0 "ignoreDeprecations": "6.0" Trong cấu hình, thông báo của Microsoft được hiển thị rõ ràng: trên 7.0 được thiết lập để tồn tại.

Trước hết, hãy loại bỏ mục tiêu es5, que durante mucho tiempo fue clave for soportar navegadores antiguos likeo Internet Explorer. Với sự suy giảm của IE và quyền bá chủ tuyệt đối của những người điều hướng thường xanh, cơ sở sử dụng mà tất cả các yêu cầu ES5 như salida sơ bộ còn sót lại. El nuevo tối thiểu có thể razonable pasa a ser es2015, và điều này không cần thiết cho ES5 deberá tái diễn và một công cụ bổ sung bên ngoài khi hạ cấp.

Liên hệ với esto, la bandera --downlevelIteration hướng dẫn và thương hiệu của bạn với tư cách là người không được chấp nhận. Bạn có thể đề xuất kiểm soát thời đại theo ngữ nghĩa của các lần lặp lại trên ES5; vì mục tiêu hiện đại không có hiệu quả lớn, phương thức mà bạn có thể sử dụng tốt hơn trên phiên bản 6.0 cho một quảng cáo.

Por el lado de los moddulos, dejan de estar soportados los valores amd, umd, systemjs y none cho tùy chọn module. Đây là các định dạng cơ bản về các yếu tố cơ bản trong thời gian trước khi áp dụng mô hình ESM và các gói hiện đại, nhưng bạn có thể làm việc trong các công cụ mới. Nếu một ứng dụng phụ thuộc vào ví dụ của bạn, đề xuất của bạn là di chuyển môđun ECMAScript và ủy quyền lịch sử tương thích với một gói hoặc một công cụ dành riêng, hoặc vĩnh viễn trên rama 5.x.

Tương tự như vậy, --moduleResolution node (còn được gọi là node10) Y --moduleResolution classic se khai báo lỗi thời và ủng hộ nodenext y bundler. Bản sơ bộ phản ánh về độ chính xác của công cụ thực tế của Node.js và vật liệu giải pháp mô-đun (bao gồm các điều kiện xuất khẩu, gói.json hiện đại, v.v.), những điều mà bạn mong muốn về các kịch bản thống trị cho các gói, Bun và các công cụ tương tự khác.

Một số điểm không được chấp nhận mà nó có tác động lớn hơn đến cấu hình tồn tại của thiết bị không được hỗ trợ baseUrl như cơ chế tra cứu mô-đun. Lịch sử sử dụng của bạn để chuẩn bị trước paths, nhưng bạn cũng có thể xem xét một trong những vấn đề chung, lo que llevaba một “người giải quyết” nhập khẩu que en realidad jamás funcionarían en tiempo de ejecución. En 6.0 se anima a elinar baseUrl y reemlazarlo por das de paths giải thích về câu chuyện hoàn chỉnh, hoặc một cách hài hước "*": solo trong một trường hợp mà bạn có thể thấy là một trò chơi ảo trên mạng.

Bạn có thể thoát khỏi tình trạng tích cực của fijar esModuleInterop y allowSyntheticDefaultImports a false. Trong thời gian này, cấu hình được khuyến nghị nên kích hoạt là một lựa chọn để loại bỏ các mô-đun nhập khẩu CommonJS từ ESM. Với 6.0, trình biên dịch giả sử khiếm khuyết phương thức “interop seguro” và buộc phải điều chỉnh lại việc nhập khẩu mà phụ thuộc vào ngữ nghĩa chống đối, bởi vì ejemplo cambiando importaciones estilo import * as express from "express"; qua import express from "express";.

Lá cờ alwaysStrict deja igualmente de poder desactivarse. Một hiệu ứng thực tế, tất cả những gì bạn cần làm là xem xét một phương thức hạn chế của JavaScript, vì nó ảnh hưởng đến hiệu trưởng đối với việc sử dụng các bảng dự trữ như await, static, public o private như những người nhận dạng và có "no estricto" và một số đối tác rất có giá trị this và các chức năng. Những trường hợp bạn có thể phụ thuộc vào các thiết bị cụ thể để tái cấu trúc.

Por último, se elimina --outFile như một tùy chọn kết nối nhiều đầu vào và một bộ câu cá solo. Bạn có thể muốn có một số lượng lớn sản phẩm có thể được sử dụng trong các gói như Webpack, Rollup, esbuild, Vite hoặc Parcel, cung cấp một gói nhỏ trong TypeScript mà bạn không thể coi là một sự đảo ngược. Bạn có thể sử dụng nó khi cần giới thiệu một công cụ hỗ trợ trong quy trình.

Cambios de sintaxis và directivas: namespaces, import confirms và no-default-lib

Tất cả các lựa chọn về trình biên dịch, TypeScript 6.0 cũng là một trong những công cụ xây dựng hệ thống tổng hợp được đưa vào xung đột với sự phát triển trong tương lai của JavaScript. Một trường hợp đáng chú ý là việc sử dụng la palabra clave module để khai báo các không gian tên, một trang phục của các phiên bản đầu tiên của lenguaje.

Sau đó, hình thức đề xuất khai báo không gian tên là với bảng tên namespaceTrong khi module se iba marcando như một biên tập viên lỗi thời. Con 6.0, ese uso de module đã đưa ra một hướng dẫn cân nhắc kỹ lưỡng về tình trạng không hợp lệ, trong các giao dịch khác vì các hành động tương lai của khối mô-đun và JavaScript có thể giúp bạn tìm ra khái niệm phù hợp với điều này.

Điều này không ảnh hưởng đến việc khai báo môdulos bên ngoài con declare module "paquete" { ... }, que siguen plenamente soportadas. Solo se prohíbe el patrón module Foo { ... } Sử dụng như một không gian tên clásico encapsulando miembros.

Otra pieza que se alinea con los estándares es el dropo de la sintaxis de “import confirms” basada en la palabra clave asserts. La propuesta original del comité TC39 evolucionó hacia “thuộc tính nhập khẩu”, que emplean la palabra with và thế là xong. Vì lợi ích, biểu hiện như import data from "./file.json" asserts { type: "json" } aora se marcan như một lỗi và deben viết lại bằng cách sử dụng with.

Cuối cùng, chỉ thị về dấu gạch chéo ba /// <reference no-default-lib="true"/> deja de ser soportada. Esta anotación se usaba para chỉ báo que no debían cargarse las librerías estándar por dedefo, pero su semántica era confusa và se prestaba a malentendidos. Một cambio, bạn nên sử dụng cờ claros như --noLib o --libReplacement tùy theo hiệu quả mong muốn.

Trong tâm trí phân tích JavaScript với JSDoc, trình biên dịch tự nhiên cũng giúp chứng minh đơn giản hóa các trò chơi dành cho người bảo trợ đặc biệt như @enum o @constructor. Sau đó, nó được cụ thể hóa trên phiên bản 7.0, bạn sẽ được khuyến khích về các báo cáo có liên quan đến mẹo trong kho lưu trữ.

Xem cùng với, TypeScript 6.0 remodela một phần của các thành phần cấu hình và khả năng tương thích được tích lũy trong thời gian dài hơn để thích ứng với một hệ sinh thái của ESM, các nhà điều hành thường xanh, các gói hiện đại và mẹo hạn chế, danh sách camino dành cho trình biên dịch tự nhiên và có thể khám phá tất cả tôi đã có được kinh nghiệm về việc giải thích nhiều hơn về cách sắp xếp lịch sử cuối cùng của mình.

bảng chữ
Bài viết liên quan:
TypeScript 5.9: Trải nghiệm nhà phát triển được nâng cao và cái nhìn thoáng qua về tương lai
bài viết liên quan: