Как я могу объявить новый экземпляр класса Customer и присвоить ему некоторые свойства?
Чтобы объявить новый экземпляр класса, сначала нужно объявить класс, который реализует ваш интерфейс:
namespace MyNamespace {
export interface ICustomer {
id: number;
name: string;
}
}
class Customer implements MyNamespace.ICustomer {
id: number;
name: string;
constructor(id: number, name, string) {
this.id = id;
this.name = name;
}
}
Теперь вы можете создавать Customer
класс.
Как я могу назначить свойства объекту, который, как в данном случае, является просто свойством пространства имен?
Пространство имен не имеет свойств. Классы и интерфейсы, которые могут находиться в вашем пространстве имен. Вы можете создать объект customer
, который имеет те же свойства, что и интерфейс:
const customer = {
id: 1, name: "Mr. Bean"
} as MyNamespace.ICustomer;
Система типов TypeScript является структурной, а не номинальной, в отличие от C # или C ++. Вот почему вы можете создать customer
, поскольку структура объекта одинакова.
Надеюсь, это поможет!