typeTAnimal='Dog'|'Cat'/*
A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type.
A computed property name must be of type 'string', 'number', 'symbol', or 'any'.
'TAnimal' only refers to a type, but is being used as a value here.
*/interfaceIAnimals{[ainTAnimal]:string}// This works.typeTAnimals={[ainTAnimal]:string}
But there is
Record<TAnimal, string>
for this.Interesting