There are different, It just the same result on your code the Record is actually the same to the fellowing.
/**
* Construct a type with a set of properties K of type T
*/
type Record<K extends keyof any, T> = {
[P in K]: T;
};
It may work different when using with generic.