Tôi đang làm gì sai trong mã dưới đây?Mở rộng Mảng từ TypeScript
Tôi đang cố gắng mở rộng Array
trên lớp học của mình MyNumberList
và sau đó cố gắng sử dụng nó. Những gì tôi thấy là không có mục nào dường như được thêm vào danh sách. Tôi nhận được một undefined
khi tôi cố gắng truy cập vào các yếu tố danh sách.
Tái bút: Tôi đang sử dụng nguyên cảo 1.8.2
class MyNumberList extends Array<number> {
constructor(...numbers: number[]) {
// looks like this is not working
super(...numbers);
}
}
let statusCodes: MyNumberList = new MyNumberList(10, 20, 30);
console.log(statusCodes[0]); // printing undefined
console.log(statusCodes.length); // printing 0
Hmm thú vị. Những gì bạn nói có ý nghĩa.Tôi đã cố gắng để thực hiện một bộ sưu tập hạng nhất, nơi tôi sẽ tăng thêm các chức năng được thừa kế từ 'mảng 'với một số hoạt động miền cụ thể. Điều đáng buồn là nó sẽ không hoạt động với cú pháp thông thường. – codematix
Cảm ơn sự giúp đỡ của bạn @ t-j-crowder. Cách thay thế của bạn khi gọi 'this.push (... numbers)' dường như đang hoạt động. Tuy nhiên tôi có thể cần tinkering sâu hơn để tìm hiểu những gì khác phá vỡ. TIL, khi sử dụng TypeScript, bạn nên xem & hiểu mã JavaScript được biên dịch. – codematix
nghiên cứu tuyệt vời, giải pháp phù hợp với tôi – BobbyTables