Назад к вопросамКакой тип TypeScript выведет для
JuniorТеорияЧасто
Какой тип TypeScript выведет для popped?
class Stack<T> {
private items: T[] = [];
push(item: T): void {
this.items.push(item);
}
pop(): T | undefined {
return this.items.pop();
}
}
const s = new Stack<string>();
s.push("a");
const popped = s.pop();string | undefined
- Ждать просто
string, раз один элемент положили: tsc не считает вызовыpush, аpop()объявлен как возвращающийT | undefined. - Ждать
Tв результате: аргумент типаstringзаполняетTвезде в объектеs— и вpush, и вpop.
- Что сообщит tsc о вызове
s.push(5)? - Какой тип получит
new Stack()без аргумента типа и почему?