Я изучаю машинописный текст, а пока разрабатывал шрифты. У меня возникла дилемма.
Интерфейсы, насколько я понимаю, дают контекст объекту.
Если это JSON данные, которые поступают с сервера, я бы, вероятно, назначил интерфейсу .
interface PersonInterface {
age: number;
name: string;
}
Но бывают случаи, когда я хочу выполнить функции, связанные с этими JSON данными. Тогда класс будет более подходящим.
class Person {
age: number;
name: string;
constructor(body: PersonInterface){
this.age = body.age;
this.name = body.name;
}
getBirthDate(){
return new Date().getFullYear() - this.age;
}
}
Я знаю, что интерфейсы не компилируются, поэтому исходный код меньше, но мне могут понадобиться классы.
Моя дилемма Есть ситуации, когда мне не нужен класс, а просто типы c. И бывают случаи, когда уроки могут быть полезны. Если я хочу иметь и то, и другое, одно для обычных объектов, а другое для экземпляров, мне нужно будет постоянно менять типы Interface
и атрибуты Class
.
Что лучше всего подходит для этой ситуации?