This is a sample TypeScript generic class, which implements a generic Stack class.
| 1 | class Stack<T> { | 
The code above looks promising, but TypeScript issues an error
| 1 | Type 'T | undefined' is not assignable to type 'T'. | 
Solution
Approach 1. ! operator
If you want to return T you should tell TS to exclude undefined from resulting type by using the ! operator.
| 1 | class Stack<T> { | 
Approach 2. union type
| 1 | class Stack<T> { |