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

Sự khác biệt giữa interface và type statements là gì?

Câu trả lời

Sự khác biệt chính giữa interfacetype trong TypeScript nằm ở cách chúng được sử dụng và khả năng mở rộng của chúng.

  1. Khả năng Mở Rộng (Extensibility):

    • interface có khả năng mở rộng thông qua từ khóa extends. Điều này cho phép bạn mở rộng một interface từ một hoặc nhiều interface khác, tạo ra một interface mới kết hợp các thuộc tính từ interface gốc[2][4].
    • type có thể sử dụng Intersection Types (ký hiệu là &) để kết hợp các type. Tuy nhiên, type không hỗ trợ việc mở rộng trực tiếp từ một type khác như interface[2][4].
  2. Tính Mergeable:

    • interface có tính chất mergeable, nghĩa là nếu bạn định nghĩa hai interface cù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 cho phép bạn sử dụng Primitive Types và Union Types. Điều này có nghĩa là bạn có thể định nghĩa một type là một kiểu dữ liệu nguyên thủy hoặc kết hợp các kiểu dữ liệu[2].
    • interface không hỗ trợ trực tiếp việc định nghĩa dựa trên Primitive Types hoặc Union Types như type[2].
  4. Mô Tả Function:

    • interface có thể được sử dụng để mô tả một function, cho phép bạn định nghĩa một kiểu cho function bao gồm các tham s...
senior

senior

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

senior

Triple-Slash Directive trong typescript là gì

junior

Làm thế nào để tạo một mảng chỉ đọc trong TypeScript?

junior

Interface trong Typescript là gì?

Bình luận

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

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