@MaksZhukov
programer

В чем отличие type и interface. В каких случаях что использовать?

В чем отличие type и interface. В каких случаях что использовать?
В гугле не совсем понятно мне.
  • Вопрос задан
  • 5386 просмотров
Пригласить эксперта
Ответы на вопрос 4
@maltsever
Привет! Грубо говоря, интерфейс лишь описывает функциональность. А класс, который реализует этот интерфейс, должен конкретно функциональность определить. Например:
interface IVegetable {
    name: string;
    getCalories(): number;
}

А конкретный класс:
class Tomato implements IVegetable {
    name: string = 'Tomato';
    getCalories() {
       return 18;
    }
}

Type - это лишь типизация какой-то переменной, как правило, нестандартной, Например, мы хотим определить тип, который будет описывать степень готовности стейков:
type SteakRoast = 'medium' | 'rare' | 'welldone';
Таким образом, мы можем присвоить переменной типа SteakRoast только эти предопределённые значения, а иначе Typescript заорёт из-за несоответствия типа.
Ответ написан
Полезные ссылки, где рассматривается тема отличий Интерфейсов (ключевое слово interface) и Псевдонимов типов (Type Aliases, ключевое слово type):


Это будет полезно для интересующимся данным вопросом и позволит глубже изучить тему.
Ответ написан
@Topchy
Вот подробно, но на английском. Хотя по примерам всё понятно, но в тексте объяснены тонкие моменты.
Перевода пока не нашёл, у самого времени нет перевести
https://medium.com/@martin_hotell/interface-vs-typ...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы