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...
Bạn cần đăng nhập để xem
senior

senior

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

junior

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

middle

Tại sao chúng ta cần sử dụng từ khóa abstract cho các lớp và phương thức của chúng trong TypeScript?

middle

Làm thế nào để chọn giữa never, unknown, và any trong TypeScript?

Bình luận

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

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