Câu hỏi phỏng vấn Typescript
Câu hỏi

Sự khác biệt giữa typeinterface trong TypeScript là gì?

Câu trả lời

Trong TypeScript, cả typeinterface đều được sử dụng để định nghĩa hình dạng của dữ liệu, nhưng chúng có một số sự khác biệt quan trọng:

  1. Khả năng mở rộng (Extensibility):

    • interface có thể mở rộng từ một hoặc nhiều interface khác bằng từ khóa extends, cho phép tái sử dụng và kết hợp các định nghĩa[2][4].
    • type không hỗ trợ việc mở rộng từ một type khác nhưng có thể sử dụng Intersection Types (&) để kết hợp nhiều type thành một[4][5].
  2. Tính Mergeable:

    • interface có tính chất mergeable, nghĩa là nếu bạn định nghĩa hai interface trùng tên, TypeScript sẽ tự động kết hợp các định nghĩa lại với nhau[4].
    • type không hỗ trợ tính chất mergeable. Nếu bạn định nghĩa hai type trùng tên, TypeScript sẽ báo lỗi[4].
  3. Sử dụng với Primitive Types và Union Types:

    • type có thể sử dụng để đặt tên cho bất kỳ kiểu dữ liệu nào, bao gồm các kiểu dữ liệu nguyên thủy, kiểu dữ liệu hợp nhất (union types), và kiểu dữ liệu giao nhau (intersection types)[1][5][7].
    • interface không thể sử dụng trực tiếp với kiểu dữ liệu nguyên thủy hoặc kiểu dữ liệu hợp nhất như type[1][5].
  4. Định nghĩa Function Types:

    • Cả typeinterface đều có thể...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Làm thế nào để kiểm tra kiểu của một biến trong Typescript?

junior

Cách đặt tên biến trong TypeScript như thế nào?

junior

Dấu gạch đứng, | có ý nghĩa gì trong TypeScript?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào