Giải pháp nhanh và bẩn là sử dụng một cách rõ ràng any
(y as any).x
"Ưu điểm" là, dàn diễn viên rõ ràng, điều này sẽ biên dịch ngay cả với bộ noImplicitAny
cờ.
Giải pháp thích hợp là cập nhật tệp định nghĩa đánh máy.
Xin lưu ý rằng, khi bạn chuyển một biến sang any
, bạn chọn không tham gia kiểm tra biến đó.
Vì tôi đang ở chế độ từ chối trách nhiệm, việc truyền hai lần thông qua any
kết hợp với giao diện mới, có thể hữu ích trong các tình huống khi bạn
- không muốn cập nhật một tập tin đánh máy bị hỏng
- đang vá khỉ
Tuy nhiên, bạn vẫn muốn một số hình thức gõ.
Giả sử bạn muốn vá định nghĩa của thể hiện y
của loại OrginalDef
với x
thuộc tính mới của loại number
:
const y: OriginalDef = ...
interface DefWithNewProperties extends OriginalDef {
x: number
}
const patched = y as any as DefWithNewProperties
patched.x = .... //will compile
HTMLElement
và có thuộc tính bổ sunggetBBox
. Bằng cách đó bạn vẫn nhận được mã hoàn thành trên các thuộc tính khác.