Tôi đang chơi với Typecript và chuyển đổi qua một thư viện nhỏ sang Javascript từ Javascript. Trong một khu vực của mã có một bản đồ được xác định tĩnh của tên khóa thân thiện với mã khóa của họ. Mã gốc trông giống như:làm cách nào để xác định từ điển số-> trong Loại bản ghi?
keys: { "Backspace": 8, "Tab": 9, "Enter": 13, ....etc.. };
tôi định nghĩa này trong nguyên cảo qua:
static keys: { [name: string]: number; } = { "Backspace": 8, "Tab": 9, "Enter": 13, ... etc.. };
Điều này dường như làm việc tốt, tuy nhiên một phần khác của mã sử dụng ánh xạ ngược lại:
chars: {8:"Backspace",9:"Tab",13:"Enter", ...etc... };
Vì vậy, tôi đã cố gắng thực hiện cùng một loại định nghĩa trong bản kiểu mà tôi đã làm trước đây:
chars: { [code: number]: string; } = { 8: "Backspace", 9: "Tab", 13: "Enter", ...etc.. };
này thất bại trong việc biên dịch với các lỗi sau:
Cannot convert '{ 0: string; 1: string; 2: string; 4: string; 8: string; 9: string; : string; }' to '{ [name: number]: string; }': Index signatures of types '{ 0: string; 1: string; 2: string; 4: string; 8: string; 9: string; : string; }' and '{ [name: number]: string; }' are incompatible
Làm thế nào để xác định bản đồ này trong nguyên cảo?