я попытался создать класс с двумя конструкторами и выяснить, что машинопись не позволяет, но это позволит перегрузки конструктора, а я попробовал его и получаю сообщение об ошибке:машинопись конструктор
Построить : Сигнатура перегрузки несовместима с реализацией функции.
Мой код:
interface IShoppingListItem {
name: string;
amount: number;
}
export class ShoppingListItem implements IShoppingListItem{
name: string;
amount: number;
constructor(item: IShoppingListItem);
constructor(name: string, amount: number) {
this.name = name;
this.amount = amount;
}
copy() {
//return new this.constructor(this);
}
}
У меня есть два вопроса, первый один, почему я не могу перегрузить конструктор, я предполагаю, что я делаю что-то неправильно.
Но мой второй вопрос и более взаимодействие, я знаю, я конструктор, который получает дополнительные значения. Могу ли я (не с кодом внутри метода!) Создать условие для моего конструктора, которое может проверить, что одно из двух заданных значений должно существовать, в то время как загрузка подписи является необязательной, например:
constructor(item?: IShoppingListItem, name?: string, amount?: number) {
//make a condition that item or name and amount must exist
this.name = name;
this.amount = amount;
}
Спасибо.
Похоже, что это не связано с Angular2. Typecipt! = Angular2 –
Opps, сделал это автоматически, не думая, я меняю его сейчас, извините. –