The Extends type is a utility type that is taking two type parameters, T and U.
The extends keyword here is being used for a conditional type check. It sets a constraint where the type U
must be a subtype (or the same type) of T. This essentially means that U should either be the same type as T,
or it should include all of the properties of T (in case of object types).
The Extends type is a utility type that is taking two type parameters, T and U. The extends keyword here is being used for a conditional type check. It sets a constraint where the type U must be a subtype (or the same type) of T. This essentially means that U should either be the same type as T, or it should include all of the properties of T (in case of object types).