Mid #satisfies#type-inference#as-const
Toán tử satisfies khác type annotation và `as` thế nào?
⚡ Trả lời nhanh
`satisfies` (TS 4.9) kiểm tra giá trị khớp một type nhưng giữ nguyên kiểu suy luận cụ thể của nó. Annotation `: T` làm rộng kiểu về T, còn `as T` ép kiểu bỏ qua kiểm tra. Dùng `satisfies` để vừa bắt lỗi cấu hình sai vừa giữ literal/key chính xác.
Ví dụ
main.ts · sửa được
| Kiểm tra | Kiểu kết quả | |
|---|---|---|
const x: T = v | có | T (rộng) |
v as T | lỏng, bỏ qua nhiều lỗi | T |
v satisfies T | có (cả excess property) | kiểu suy luận của v |