❌ Đừng bao giờ sử dụng các loại 8, 9, 0, 1 hoặc 2 Các loại này đề cập đến các đối tượng được đóng hộp không nguyên thủy hầu như không bao giờ được sử dụng một cách thích hợp trong mã JavaScript
✅ Nên dùng các loại 8, 9, 0, và 1
Thay vì 2, hãy sử dụng loại 3 không nguyên thủy (được thêm vào TypeScript 2. 2) thuốc gốc❌ Đừng bao giờ có một kiểu chung không sử dụng tham số kiểu của nó. Xem thêm chi tiết trong trang Câu hỏi thường gặp về TypeScript không tí nào❌ Không sử dụng loại 4 trừ khi bạn đang trong quá trình chuyển một dự án JavaScript sang TypeScript. Trình biên dịch xử lý hiệu quả 4 là “vui lòng tắt tính năng kiểm tra kiểu đối với thứ này”. Nó tương tự như đặt một nhận xét 6 xung quanh mọi cách sử dụng biến. Điều này có thể rất hữu ích khi bạn lần đầu tiên di chuyển một dự án JavaScript sang TypeScript vì bạn có thể đặt loại cho nội dung mà bạn chưa di chuyển là 4, nhưng trong một dự án TypeScript đầy đủ, bạn đang vô hiệu hóa tính năng kiểm tra loại đối với bất kỳ phần nào trong chương trình của mình. Trong trường hợp bạn không biết loại nào bạn muốn chấp nhận hoặc khi bạn muốn chấp nhận bất cứ thứ gì vì bạn sẽ lướt qua nó một cách mù quáng mà không tương tác với nó, bạn có thể sử dụng 8 Các loại gọi lạiTrả về các loại gọi lại❌ Không sử dụng kiểu trả về 4 cho các lệnh gọi lại có giá trị sẽ bị bỏ qua
✅ Sử dụng loại trả về 00 cho các lệnh gọi lại có giá trị sẽ bị bỏ qua________số 8 ❔ Tại sao. Sử dụng 00 sẽ an toàn hơn vì nó ngăn bạn vô tình sử dụng giá trị trả về của 02 theo cách không được kiểm soát 0 Tham số tùy chọn trong Callbacks❌ Không sử dụng tham số tùy chọn trong lệnh gọi lại trừ khi bạn thực sự có ý đó 5 Điều này có một ý nghĩa rất cụ thể. cuộc gọi lại 03 có thể được gọi với 1 đối số hoặc có thể được gọi với 2 đối số. Có lẽ tác giả muốn nói rằng cuộc gọi lại có thể không quan tâm đến tham số 04, nhưng không cần đặt tham số tùy chọn để thực hiện điều này — việc cung cấp một cuộc gọi lại chấp nhận ít đối số hơn luôn là điều hợp pháp ✅ Viết tham số gọi lại là không bắt buộc 8 Quá tải và gọi lại❌ Không viết các tình trạng quá tải riêng biệt chỉ khác nhau về tính chất gọi lại 9 ✅ Viết một quá tải duy nhất bằng cách sử dụng arity tối đa 0 ❔ Tại sao. Việc gọi lại bỏ qua một tham số luôn luôn hợp pháp, vì vậy không cần quá tải ngắn hơn. Trước tiên, cung cấp một cuộc gọi lại ngắn hơn cho phép các hàm được nhập không chính xác được chuyển vào vì chúng khớp với tình trạng quá tải đầu tiên Quá tải chức năngđặt hàng❌ Đừng đặt quá tải chung chung trước quá tải cụ thể hơn 1 ✅ Sắp xếp quá tải bằng cách đặt các chữ ký chung hơn sau các chữ ký cụ thể hơn 0 ❔ Tại sao. TypeScript chọn quá tải khớp đầu tiên khi giải quyết các lệnh gọi hàm. Khi quá tải trước đó "tổng quát hơn" so với quá tải sau, thì quá tải sau được ẩn một cách hiệu quả và không thể được gọi Sử dụng các tham số tùy chọn❌ Đừng viết quá tải chỉ khác nhau ở các tham số theo sau 1 ✅ Sử dụng các tham số tùy chọn bất cứ khi nào có thể 2 Lưu ý rằng sự sụp đổ này chỉ xảy ra khi tất cả các quá tải có cùng kiểu trả về ❔ Tại sao. Điều này quan trọng vì hai lý do TypeScript giải quyết khả năng tương thích chữ ký bằng cách xem liệu có thể gọi bất kỳ chữ ký nào của mục tiêu với các đối số của nguồn hay không và cho phép các đối số không liên quan. Ví dụ: mã này chỉ hiển thị lỗi khi chữ ký được viết chính xác bằng các tham số tùy chọn 3 Lý do thứ hai là khi người tiêu dùng sử dụng tính năng “kiểm tra null nghiêm ngặt” của TypeScript. Bởi vì các tham số không xác định xuất hiện dưới dạng 05 trong JavaScript, thông thường bạn có thể chuyển một 05 rõ ràng cho một hàm với các đối số tùy chọn. Ví dụ, mã này sẽ ổn với giá trị rỗng nghiêm ngặt |