Ожидание: если я создам пользовательский тип, параллельный существующему типу, я ожидаю увидеть переменные, назначенные этому типу, сохраняющие этот тип, а не откат к параллельному базовому типу. Функция f
ниже должна возвращать тип Dog
вместо типа string
.
type Dog = string;
const f = (dog: Dog): Dog => {
return dog;
};
Реальность:
Есть ли причина почему Typescript это делает? Это ошибка? Я понимаю, что оба подхода по определению эквивалентны, но я хотел бы использовать свои пользовательские типы для удобства чтения. Есть мысли?