Restricting Generic Argument Types
In this exercise, we start with the returnWhatIPassIn
function from the previous exercise. It has the T
and it's basically returning whatever we pass in:
const returnWhatIPassIn = <T>(t: T) => {
return t;
};
But now our test is saying it should only allow strings to be pass
Transcript
0:00 In this exercise, we have our returnWhatIPassIn function from the previous exercise. We have our T, and it's basically returning what if we pass in, which is really nice.
0:09 Now our test is saying it should only allow strings to be passed in. This means that we want to actually constrain the type of T to make sure it's only a string.
0:19 We could of course do this, where we could say, "OK, you can pass in a string here," but actually, you end up with a being a string instead of the exact thing that you're passing in.
0:28 Your job is to find a way and find a method of doing this syntax so that the thing that we pass in must be a string but still gets inferred as its literal type.