Điểm khác biệt đúng giữa interface và type alias trong TypeScript là gì?
- A.
interfaceđược check tại runtime,typechỉ check tại compile time - B.
typechỉ dùng cho primitive,interfacechỉ dùng cho object - C.
typekhông thể tham giaextends, muốn kế thừa bắt buộc dùnginterface - D.
interfacehỗ trợ declaration merging (khai báo trùng tên sẽ được gộp), còntypealias thì không
Đáp án: D
interface có declaration merging và chỉ mô tả object shape; type alias linh hoạt hơn (union, intersection, tuple, primitive, conditional type) nhưng không merge. Quy tắc phổ biến: interface cho public API cần mở rộng, type cho union và các kiểu nâng cao.
Nguồn tham khảo