TypeScript 7.0 chính thức ra mắt: Nhanh gấp 10 lần nhờ Go

Đăng bởi: PHUCANH |

Mục lục

Mục lục

Ngày 8/7/2026, Microsoft chính thức công bố TypeScript 7.0, một trong những cột mốc lớn nhất trong lịch sử hơn một thập kỷ của ngôn ngữ này. Thay vì chỉ là bản cập nhật tính năng thông thường, TypeScript 7.0 là một bản viết lại toàn bộ bằng ngôn ngữ Go, mang lại tốc độ nhanh hơn 8 đến 12 lần trên các dự án thực tế, giảm tiêu thụ bộ nhớ đáng kể và cải thiện toàn diện trải nghiệm editor. Đây là bản cập nhật mà toàn bộ cộng đồng JavaScript và TypeScript đã chờ đợi suốt hơn một năm qua. Cùng Phúc Anh khám phá ngay!

TypeScript 7.0 là gì?

TypeScript từ trước đến nay luôn được xây dựng bằng JavaScript/TypeScript, một điều khá tự nhiên với một ngôn ngữ được sinh ra từ hệ sinh thái JavaScript. Tuy nhiên, điều đó cũng đồng nghĩa với việc TypeScript bị giới hạn bởi đặc điểm của runtime JavaScript: đơn luồng, thu gom rác (garbage collection) không thể kiểm soát hoàn toàn và thiếu khả năng tận dụng đa nhân CPU hiện đại.

TypeScript 7.0 đã phá bỏ hoàn toàn giới hạn này. Microsoft đã thực hiện một native port viết lại toàn bộ trình biên dịch TypeScript bằng Go, trong khi cố gắng giữ nguyên cấu trúc và logic của codebase gốc để đảm bảo tính nhất quán và tương thích giữa hai phiên bản. Kết quả là TypeScript 7.0 mang lại tốc độ native code, đa luồng với shared memory, và nhiều tối ưu hóa mới giúp build time giảm từ 8 đến 12 lần trên các dự án thực tế.

Đây không phải là dự án viết lại từ đầu theo nghĩa thông thường mà đội ngũ Microsoft đã dành hơn một năm để đảm bảo TypeScript 7.0 hoạt động nhất quán với TypeScript 6.0, đến mức hầu hết mọi code TypeScript chạy tốt trên 6.0 đều sẽ biên dịch giống hệt trên 7.0.

TypeScript 7.0 nhanh hơn bao nhiêu trong thực tế?

Con số benchmark từ các dự án open-source lớn nói lên tất cả:

Dự ánTypeScript 6TypeScript 7Tăng tốc
vscode 125.7s 10.6s 11.9x
sentry 139.8s 15.7s 8.9x
bluesky 24.3s 2.8s 8.7x
playwright 12.8s 1.47s 8.7x
tldraw 11.2s 1.46s 7.7x

Nhưng tốc độ build chỉ là một phần của câu chuyện. Trong thực tế, điều mà developer cảm nhận được hàng ngày là trải nghiệm editor. Với codebase VS Code, mở một file có lỗi trong editor trước đây mất khoảng 17.5 giây từ lúc mở editor đến khi thấy lỗi đầu tiên. Với TypeScript 7.0, con số đó giảm xuống còn dưới 1.3 giây, nhanh hơn hơn 13 lần.

TypeScript 7.0 cũng sử dụng ít bộ nhớ hơn, dù mức giảm không đồng đều:

  • vscode: giảm 18% (từ 5.2GB xuống 4.2GB)
  • bluesky: giảm 26% (từ 1.8GB xuống 1.3GB)
  • sentry: giảm 6% (từ 4.9GB xuống 4.6GB)

Phản hồi thực tế từ các công ty lớn

Những con số benchmark thuyết phục hơn nhiều khi đi kèm với kinh nghiệm thực tế:

  • Slack báo cáo TypeScript 7.0 đã loại bỏ 40% thời gian chờ trong merge queue và giảm thời gian type-checking trong CI từ 7.5 phút xuống còn 1.25 phút. Trước đây, developer gần như không thể dùng editor do language server load quá lâu và phải để CI làm toàn bộ type-check. Với TypeScript 7.0, codebase tương tự load trong vài giây.
  • Vanta ghi nhận speedup lên đến 9 lần trên một trong những dự án lớn nhất của họ.
  • Microsoft News Services tiết kiệm 400 giờ mỗi tháng chờ CI builds.
  • Canva giảm thời gian thấy lỗi đầu tiên trong editor từ 58 giây xuống còn 4.8 giây.
  • PowerBI mô tả TypeScript 7.0 trong editor là "life-saving" và đã áp dụng làm mặc định ngay cả trước khi TypeScript 7.0 hỗ trợ đầy đủ tính năng rename.

Tính năng kỹ thuật mới trong TypeScript 7.0

Parallelization tận dụng đa nhân CPU

TypeScript 7.0 thực hiện nhiều bước song song, bao gồm parsing, type-checking và emitting. Hai flag mới được giới thiệu để tinh chỉnh hành vi này:

  • --checkers N: Kiểm soát số lượng type-checker workers chạy song song. Mặc định là 4. Tăng lên 8 có thể mang lại speedup đáng kể hơn trên máy nhiều core, nhưng sẽ tiêu tốn thêm bộ nhớ. Ví dụ với --checkers 8, vscode build từ 10.6s giảm xuống còn 7.51s, tổng speedup lên 16.7x so với TypeScript 6.
  • --builders N: Kiểm soát số lượng project reference builder chạy song song khi dùng --build. Đặc biệt hữu ích với monorepo có nhiều project.
  • --singleThreaded: Tắt toàn bộ parallelization hữu ích để debug hoặc chạy trong môi trường tài nguyên giới hạn như một số CI runner.

Cải thiện --watch mode

TypeScript 7.0 được trang bị một --watch mode được xây dựng lại hoàn toàn, dựa trên file-watcher từ Parcel bundler, cung cấp khả năng file watching ổn định và hiệu quả trên mọi nền tảng. Đây là một trong những điểm developer cảm nhận được ngay trong workflow hàng ngày: watch mode nhanh hơn, ít tốn tài nguyên hơn và ổn định hơn đáng kể so với trước.

Template Literal Types và Unicode

TypeScript 7.0 xử lý Unicode code points một cách tự nhiên hơn khi suy luận từ template literal types. Trước đây, emoji như "😀" bị tách thành hai nửa surrogate pair theo UTF-16, dẫn đến kết quả không như mong đợi. Từ 7.0, "😀" được xử lý như một đơn vị duy nhất, phù hợp với cách for...of và spread operator hoạt động trong JavaScript.

Thay đổi default configuration đáng chú ý

TypeScript 7.0 áp dụng các default mới từ 6.0 và chuyển một số flag deprecated thành hard error. Những thay đổi quan trọng nhất developer cần biết:

  • strict mặc định là true
  • module mặc định là esnext
  • rootDir mặc định là ./, project có tsconfig.json ngoài thư mục src cần khai báo tường minh "rootDir": "./src"
  • types mặc định là [] cần liệt kê tường minh các @types package cần dùng

Các option không còn được hỗ trợ và sẽ gây lỗi: target: es5, moduleResolution: node/node10, baseUrl, module: amd/umd/systemjs...

TypeScript 7.0 có ảnh hưởng gì đến workflow lập trình hàng ngày?

Với developer thông thường, TypeScript 7.0 không đòi hỏi thay đổi nhiều trong cách viết code, đó là thiết kế có chủ đích. Điều bạn sẽ cảm nhận được ngay là editor khởi động nhanh hơn, auto-completion phản hồi tức thì, lỗi hiển thị gần như ngay lập tức thay vì phải chờ vài chục giây.

Đối với các team sử dụng CI/CD, lợi ích còn rõ ràng hơn: thời gian chờ build giảm mạnh đồng nghĩa với việc feedback loop ngắn lại, developer có thể iterate nhanh hơn và merge request không còn phải chờ pipeline chạy nhiều phút chỉ để type-check.

Với những ai thường xuyên làm việc với các dự án TypeScript quy mô lớn monorepo, nhiều project reference, hàng trăm file đây là lý do đủ để cân nhắc nâng cấp thiết bị làm việc. Một chiếc laptop AI trang bị nhiều CPU core sẽ tận dụng tốt tính năng parallelization mới của TypeScript 7.0, đặc biệt khi dùng --checkers 8 hay --builders để tối đa hóa tốc độ build trên máy có nhiều nhân.

Kết luận

TypeScript 7.0 là cột mốc quan trọng nhất trong hơn một thập kỷ phát triển của ngôn ngữ này. Viết lại bằng Go, nhanh hơn 8-12 lần, tiết kiệm bộ nhớ, hỗ trợ parallelization và được battle-test kỹ càng trên các codebase lớn nhất thế giới, đây là bản cập nhật mà cộng đồng JavaScript và TypeScript đã chờ đợi lâu. Nếu bạn đang làm dự án TypeScript quy mô vừa trở lên, đây là thời điểm để cài đặt và cảm nhận sự khác biệt. Phúc Anh hy vọng bài viết giúp bạn nắm rõ những gì TypeScript 7.0 mang lại. Nếu bạn đang cần nâng cấp thiết bị để code nhanh hơn và tận dụng tối đa parallelization của TypeScript 7.0, hãy tham khảo ngay các dòng laptop đang có tại Phúc Anh để chọn thiết bị phù hợp với nhu cầu lập trình của mình.

FAQ

TypeScript 7.0 có tương thích ngược với code TypeScript 6.0 không?
Có, hầu hết code biên dịch tốt trên TypeScript 6.0 (với stableTypeOrdering bật và không dùng flag ignoreDeprecations) sẽ biên dịch giống hệt trên TypeScript 7.0.

Tại sao TypeScript 7.0 lại được viết lại bằng Go?
Go cho phép native code speed, shared memory multithreading và tận dụng đa nhân CPU, những thứ mà JavaScript runtime không thể làm được hiệu quả, đặc biệt với các dự án quy mô lớn.

TypeScript 7.0 có API không?
Chưa. TypeScript 7.0 không ship với API lập trình. API mới dự kiến sẽ có trong TypeScript 7.1. Trong thời gian chờ, có thể chạy song song với TypeScript 6.0 qua package @typescript/typescript6.

Vue, Svelte, Astro có dùng được TypeScript 7.0 chưa?
Chưa. Các framework này phụ thuộc vào TypeScript API mà TypeScript 7.0 chưa cung cấp. Cần tiếp tục dùng TypeScript 6.0 cho các workflow này đến khi có giải pháp từ phía Microsoft và các maintainer liên quan.

Phòng bán hàng trực tuyến Địa chỉ: Tầng 4, 89 Lê Duẩn, phường Cửa Nam, Hà Nội
Điện thoại: 1900 2164 (ext 1)
Hoặc 0974 55 88 11
chat zalo Chat zalo Bán hàng trực tuyến
Email: [email protected]
[Bản đồ đường đi]
Showroom Phúc anh 15 xã đàn Địa chỉ: 15 Xã Đàn, phường Kim Liên, Hà Nội.
Điện thoại: (024) 3968 9966 (ext 1)
chat zalo Chat zalo Phúc Anh 15 Xã Đàn
Email: [email protected]
Giờ mở cửa từ 08h00 đến 21h00
[Bản đồ đường đi]
Trụ sở chính/ Showroom PHÚC ANH 152 TRẦN DUY HƯNG Địa chỉ: 152-154 Trần Duy Hưng, phường Yên Hoà, Hà Nội.
Điện thoại: (024) 3968 9966 (ext 2)
chat zalo Chat zalo Phúc Anh 152 Trần Duy Hưng
Email: [email protected]
Giờ mở cửa từ 08h00 đến 21h00
[Bản đồ đường đi]
PHÒNG KINH DOANH PHÂN PHỐI Địa chỉ: Tầng 5, 134 Thái Hà, phường Đống Đa, Hà Nội.
Điện thoại: 097 322 7711
chat zalo Chat zalo Phòng Kinh doanh Phân phối
Email: [email protected]
[Bản đồ đường đi]
PHÒNG DỰ ÁN VÀ KHÁCH HÀNG DOANH NGHIỆP Địa chỉ: Tầng 5,134 Thái Hà, phường Đống Đa, Hà Nội.
Điện thoại: 1900 2164 (ext 2)
chat zalo Chat zalo Dự án và khách hàng Doanh nghiệp
Hoặc 038 658 6699
Email: [email protected]
[Bản đồ đường đi]
showroom PHÚC ANH 134 THÁI HÀ Địa chỉ: 134 Thái Hà, phường Đống Đa, Hà Nội.
Điện thoại: (024) 3968 9966 (ext 3)
chat zalo Chat zalo với Phúc Anh 134 Thái Hà
Email: [email protected]
Giờ mở cửa từ 08h đến 21h00
[Bản đồ đường đi]
SHOWROOM Phúc Anh 89 Lê Duẩn Địa chỉ: 89 Lê Duẩn, phường Cửa Nam, Hà Nội.
Điện thoại: (024) 3968 9966 (ext 4)
chat zalo Chat zalo với Phúc Anh 89 Lê Duẩn
Email: [email protected]
Giờ mở cửa từ 08h00 đến 21h00
[Bản đồ đường đi]
Showroom Phúc anh 141 phạm văn đồng Địa chỉ: 141-143 Phạm Văn Đồng (ngã ba Hoàng Quốc Việt - Phạm Văn Đồng), phường Phú Diễn, Hà Nội
Điện thoại: (024) 3968 9966 (ext 5)
chat zalo Chat zalo Phúc Anh 141 Phạm Văn Đồng
Email: [email protected]
Giờ mở cửa từ 08h00 đến 21h00
[Bản đồ đường đi]
(8h-21h)
(8h-21h)
Chat Zalo với Khách hàng cá nhân Chat Zalo với Khách hàng Doanh nghiệp
(8h-21h)

SO SÁNH SẢN PHẨM

Thêm sản phẩm

So sánh
Xoá sản phẩm
Icon Top Left Icon Top Right