Sự khác biệt giữa *interface...
Sự khác biệt giữa *interface...
Sự khác biệt chính giữa interface
và type
trong TypeScript nằm ở cách chúng được sử dụng và khả năng mở rộng của chúng.
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].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].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].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
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào