Tôi đã viết chức năng nhỏ để xử lý tốt hơn với các loại.Nhận loại tham số chung
function evaluate(variable: any, type: string): any {
switch (type)
{
case 'string': return String(variable);
case 'number': return isNumber(variable) ? Number(variable) : -1;
case 'boolean': {
if (typeof variable === 'boolean')
return variable;
if (typeof variable === 'string')
return (<string>variable).toLowerCase() === 'true';
if (typeof variable === 'number')
return variable !== 0;
return false;
}
default: return null;
}
}
function isNumber(n: any): boolean {
return !isNaN(parseFloat(n)) && isFinite(n);
}
Tôi thử cùng với generics, nhưng không biết cách lấy loại từ thông số chung. Nó có thể?
Không phải là không. Kiểu gõ của TypeScript chỉ là một tính năng biên dịch. JavaScript đầu ra không có thông tin kiểu và không có cơ sở phản chiếu. Bạn phải dựa vào '' typeof'' cũ trong mã của bạn như trong JavaScript. –
Đối với bản ghi, bạn có thể thu gọn trình xử lý của mình cho các biến bool thành 'return !! variable;' –