Cách khởi tạo một lớp mới TS
theo cách như vậy (ví dụ trong C#
để hiển thị những gì tôi muốn):
// ... some code before
return new MyClass { Field1 = "ASD", Field2 = "QWE" };
// ... some code after
[sửa]
Khi tôi viết câu hỏi này, tôi là nhà phát triển .NET thuần túy mà không có nhiều kiến thức về JS. Ngoài ra TypeScript là một cái gì đó hoàn toàn mới, được công bố là siêu thay thế dựa trên C # mới của JavaScript. Hôm nay tôi thấy câu hỏi này ngu ngốc đến mức nào.
Dù sao, nếu bất cứ ai vẫn đang tìm kiếm một câu trả lời, xin vui lòng, xem xét các giải pháp có thể dưới đây.
Điều đầu tiên cần lưu ý là trong TS, chúng ta không nên tạo các lớp trống cho các mô hình. Cách tốt hơn là tạo giao diện hoặc loại (tùy theo nhu cầu). Bài viết hay từ Phương châm của Todd: https://ultimatecferences.com/blog/groupes-vs-interfaces-in-typescript
GIẢI PHÁP 1:
type MyType = { prop1: string, prop2: string };
return <MyType> { prop1: '', prop2: '' };
GIẢI PHÁP 2:
type MyType = { prop1: string, prop2: string };
return { prop1: '', prop2: '' } as MyType;
GIẢI PHÁP 3 (khi bạn thực sự cần một lớp học):
class MyClass {
constructor(public data: { prop1: string, prop2: string }) {}
}
// ...
return new MyClass({ prop1: '', prop2: '' });
hoặc là
class MyClass {
constructor(public prop1: string, public prop2: string) {}
}
// ...
return new MyClass('', '');
Tất nhiên trong cả hai trường hợp, bạn có thể không cần truyền kiểu thủ công vì chúng sẽ được giải quyết từ kiểu trả về hàm / phương thức.
return new MyClass { Field1: "ASD", Field2: "QWE" };