Câu hỏi phỏng vấn Typescript
Câu hỏi

Làm thế nào để bạn nạp chồng một hàm tạo trong lớp TypeScript?

Câu trả lời

Trong TypeScript, bạn có thể nạp chồng hàm tạo (constructor) bằng cách sử dụng nhiều định nghĩa hàm tạo với danh sách tham số khác nhau trong một lớp duy nhất. Tuy nhiên, cần lưu ý rằng TypeScript chỉ cho phép một triển khai hàm tạo thực sự, nhưng bạn có thể định nghĩa nhiều chữ ký hàm tạo để hỗ trợ nạp chồng.

Để nạp chồng hàm tạo, bạn sẽ cần định nghĩa các chữ ký hàm tạo mà không có thân hàm (body), sau đó định nghĩa một hàm tạo với thân hàm có thể xử lý các trường hợp khác nhau dựa trên các tham số được truyền vào. Dưới đây là một ví dụ minh họa:

class Point {
    // Định nghĩa chữ ký hàm tạo
    constructor(x: number, y: string);
    constructor(s: string);
    // Định nghĩa triển khai hàm tạo
    constructor(private xs: any, private y?: any) {
        // Triển khai logic tại đây
    }
}

Trong ví dụ trên, lớp Point có hai chữ ký hàm tạo: một nhận vào một số và một chuỗi, và một nhận vào một chuỗi. Triển khai hàm tạo thực sự nhận vào hai tham số với kiểu any, cho phép bạn xử lý logic bên trong hàm tạo dựa trên kiểu và số lượng tham số được truyền vào.

Lưu ý rằng, tương tự như việc nạp chồng hàm, việc nạp chồng hàm tạo trong TypeScript chỉ là một cách để cung cấp nhiều chữ ký cho một hàm tạo, giúp tăng tính linh hoạt và khả năng tái sử dụng mã nguồn[2][5].

Citations:
[1] https://stackoverflow.com/questions/12702548/constructor-overload-in-typescript
[2] https://roadmap.sh/typescript/...

senior

senior

Gợi ý câu hỏi phỏng vấn

expert

Khi nào nên sử dụng từ khóa declare trong TypeScript?

junior

Cách đặt tên biến trong TypeScript như thế nào?

expert

Những điểm khác biệt giữa private keywordprivate fields trong TypeScript là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào