a в чем ее разница с any тоже самое any не делает?
ты не совсем понял. Интерфейс может принимать в себя переданные типы. Он вместо T вставляет то, что ты ему передашь. Грубо говоря, ты можешь сделать так: interface A { name: string; } interface B { name: number; } interface C { name: boolean; } а можешь сделать так: interface A<T> { name: T } и дальше использовать вот так: const myvar: A<string> = { name: ‘ololo’ } если ты будешь использовать any, то ты можешь перезаписать свой name на ЛЮБОЙ тип, а тебе нужно ограничить его.
АААА понял. спасибо большое
const myvar: A<string> = { name: ‘ololo’ } const myvar2: A<number> = { name: 5 } но можно и так не так?
да, если ты передаешь в аргумент number, то name может содержать только числа, а при присвоении ему строки он выдаст ошибку (нормальное поведение) если было бы any, то компилятор бы не указал на ошибку (хоть потенциальная ошибка есть)
наконец то понял. спасибо большое кролик
Обсуждают сегодня