{ children: string }) {
return a;
}
foo({
children: '',
s: 1,
})
// Object literal may only specify known properties, and 's' does not exist in type '{ children: string; }'.
В юнионе он же тоже выбирает литеральный тип или нет?
Я посмотрю дома, как за компьютер сяду, возможно я чего-то не понимаю. Если что, в личку отпишусь
начиная с TS 2.6 в функциях проверка аргументов осуществляется контравариантно (до этого - бивариантно). То есть мы можем принимать более специфичный тип как аргумент, т.к. он реализует все родительские поля В случае, если в функцию передается callback в качестве аргумента, его (коллбека) аргументы также проверются контравариантно. А выходное значение ковариантно playground: http://bit.ly/2KETb3V article: http://bit.ly/2SnqoDN docs: http://bit.ly/2Rk6Box
Обсуждают сегодня