Cẩm nang TypeScript từ typescriptlang.org
Mục lục
Giới thiệu về cuốn cẩm nang này
Hơn 20 năm sau khi được giới thiệu đến cộng đồng lập trình, JavaScript hiện là một trong những ngôn ngữ đa nền tảng được sử dụng rộng rãi nhất từng được tạo ra. Khởi đầu là một ngôn ngữ kịch bản nhỏ để thêm các tương tác đơn giản vào các trang web, JavaScript đã phát triển thành ngôn ngữ được lựa chọn cho cả các ứng dụng frontend và backend ở mọi quy mô. Trong khi quy mô, phạm vi và độ phức tạp của các chương trình được viết bằng JavaScript đã tăng lên theo cấp số nhân, khả năng của ngôn ngữ JavaScript trong việc thể hiện mối quan hệ giữa các đơn vị mã khác nhau lại không tăng theo. Kết hợp với ngữ nghĩa thời gian chạy khá đặc thù của JavaScript, sự không phù hợp giữa ngôn ngữ và độ phức tạp của chương trình đã khiến việc phát triển JavaScript trở nên khó quản lý ở quy mô lớn.
Các loại lỗi phổ biến nhất mà lập trình viên thường mắc phải có thể được mô tả là lỗi kiểu dữ liệu: một kiểu giá trị nhất định đã được sử dụng trong khi kiểu giá trị khác được mong đợi. Điều này có thể do lỗi chính tả đơn giản, không hiểu rõ giao diện API của thư viện, giả định sai về hành vi khi chạy chương trình, hoặc các lỗi khác. Mục tiêu của TypeScript là trở thành một trình kiểm tra kiểu tĩnh cho các chương trình JavaScript – nói cách khác, một công cụ chạy trước khi mã của bạn chạy (tĩnh) và đảm bảo rằng các kiểu dữ liệu của chương trình là chính xác (đã được kiểm tra kiểu).
Nếu bạn mới bắt đầu học TypeScript mà chưa có kinh nghiệm về JavaScript, và dự định sử dụng TypeScript làm ngôn ngữ lập trình đầu tiên, chúng tôi khuyên bạn nên bắt đầu bằng cách đọc tài liệu hướng dẫn trên Microsoft Learn JavaScript hoặc đọc JavaScript trên Mozilla Web Docs . Nếu bạn đã có kinh nghiệm với các ngôn ngữ khác, bạn sẽ có thể nắm bắt cú pháp JavaScript khá nhanh bằng cách đọc cẩm nang hướng dẫn.
Sổ tay này được cấu trúc như thế nào?
Sổ tay hướng dẫn được chia thành hai phần:
- Sổ taySổ tay TypeScript được biên soạn nhằm mục đích trở thành một tài liệu toàn diện giải thích về TypeScript cho các lập trình viên thông thường. Bạn có thể đọc sổ tay bằng cách di chuyển từ trên xuống dưới trong thanh điều hướng bên trái.Bạn nên kỳ vọng mỗi chương hoặc mỗi trang sẽ cung cấp cho bạn sự hiểu biết vững chắc về các khái niệm được trình bày. Sổ tay TypeScript không phải là một đặc tả ngôn ngữ hoàn chỉnh, nhưng nó được thiết kế như một hướng dẫn toàn diện về tất cả các tính năng và hoạt động của ngôn ngữ này.Sau khi hoàn thành hướng dẫn này, người đọc sẽ có thể:
- Đọc và hiểu cú pháp và các mẫu TypeScript thường dùng.
- Giải thích tác động của các tùy chọn trình biên dịch quan trọng.
- Dự đoán chính xác hành vi của hệ thống kiểu trong hầu hết các trường hợp.
- Tệp tham chiếuPhần tham khảo bên dưới cẩm nang trong thanh điều hướng được thiết kế để cung cấp sự hiểu biết sâu sắc hơn về cách hoạt động của một phần cụ thể trong TypeScript. Bạn có thể đọc từ trên xuống dưới, nhưng mỗi phần đều nhằm mục đích cung cấp lời giải thích chi tiết hơn về một khái niệm duy nhất – nghĩa là không có mục tiêu về tính liên tục.
Những mục tiêu không chính thức
Sổ tay này cũng được biên soạn nhằm mục đích trở thành một tài liệu ngắn gọn, có thể đọc xong trong vài giờ. Một số chủ đề sẽ không được đề cập để đảm bảo tính ngắn gọn.
Cụ thể, cuốn Sổ tay này không giới thiệu đầy đủ các kiến thức cơ bản cốt lõi của JavaScript như hàm, lớp và closure. Ở những chỗ cần thiết, chúng tôi sẽ cung cấp các liên kết đến tài liệu tham khảo để bạn có thể tìm hiểu thêm về các khái niệm đó.
Sổ tay này cũng không nhằm mục đích thay thế cho tài liệu đặc tả ngôn ngữ. Trong một số trường hợp, các trường hợp ngoại lệ hoặc mô tả chính thức về hành vi sẽ được bỏ qua để thay thế bằng các giải thích cấp cao, dễ hiểu hơn. Thay vào đó, có các trang tham khảo riêng biệt mô tả chính xác và chính thức hơn nhiều khía cạnh về hành vi của TypeScript. Các trang tham khảo này không dành cho những người đọc chưa quen thuộc với TypeScript, vì vậy chúng có thể sử dụng thuật ngữ nâng cao hoặc đề cập đến các chủ đề mà bạn chưa từng đọc qua.
Cuối cùng, Sổ tay này sẽ không đề cập đến cách TypeScript tương tác với các công cụ khác, trừ khi cần thiết. Các chủ đề như cách cấu hình TypeScript với webpack, rollup, parcel, react, babel, closure, lerna, rush, bazel, preact, vue, angular, svelte, jquery, yarn hoặc npm đều nằm ngoài phạm vi – bạn có thể tìm thấy các tài liệu này ở những nơi khác trên web.
Bắt đầu
Trước khi bắt đầu với phần Cơ bản , chúng tôi khuyên bạn nên đọc một trong những trang giới thiệu sau đây. Những trang giới thiệu này nhằm mục đích làm nổi bật những điểm tương đồng và khác biệt chính giữa TypeScript và ngôn ngữ lập trình mà bạn ưa thích, đồng thời làm rõ những hiểu lầm phổ biến liên quan đến các ngôn ngữ đó.
- TypeScript dành cho lập trình viên mới
- TypeScript dành cho lập trình viên JavaScript
- TypeScript dành cho lập trình viên Java/C#
- TypeScript dành cho lập trình viên lập trình hàm
Nếu không, hãy chuyển đến phần Cơ bản .