Tôi có một chức năng mà xây dựng một đối tượng, như thế này:Xuất kiểu trả về của hàm trong nguyên cảo
function toast() {
return {
a: "a",
b: "b"
}
}
tôi có thể xác định loại của hàm như
type ToastFunctionType = typeof toast
loại này sẽ là
() => { a: string; b: string; }
Tuy nhiên, tôi chỉ muốn loại giá trị trả về. Có thể trích xuất loại giá trị trả về của bánh mì nướng không? Trong trường hợp sử dụng của tôi, các giá trị thực tế của các đối tượng đang sử dụng các đối số kiểu generic khá dài dòng. Loại suy luận được họ chỉ đúng và tôi muốn tránh duy trì một giao diện rất tiết (mà tôi cần phải xuất khẩu).
Những gì tôi muốn trong trường hợp bánh mì nướng chỉ là
{ a: string; b: string; }
lừa gọn gàng! Tôi sẽ không tự mình nghĩ ra điều này. Nó trông hơi hack nhưng nó có lợi cho ứng dụng của chúng tôi bằng cách loại bỏ các khai báo dài với 2 dòng. Đó là một sự xấu hổ mà nó không thể sử dụng một biểu thức sau khi typeof (một cái gì đó giống như typeof (ExtractReturnType (bánh mì nướng)) mà có thể dễ đọc hơn so với khai báo biến theo sau là typeof – user3711864
Điều này sẽ không hoạt động nếu 'strictNullChecks' Có một lỗi hiếm hoi tại 'return null' – Louis
@Louis fixed, thanks, đây là một trong những trường hợp hiếm hoi khi bạn phải sử dụng toán tử khẳng định không null với' null'. – artem