Forwarded from Sergey Sova
когда ты явно указываешь значения элементов энама
их порядок должен быть любым
но здесь порядок влияет на результат
их порядок должен быть любым
но здесь порядок влияет на результат
Forwarded from Богдан
Мне кажется этот пример еще лучше показывает самую большую на мой вгзляд проблему тайпскрипта - неумение (в отличие от флоу) проверять параметры у метода объекта
function getUserGreetings(user: { sayHello(user: { firstName: string }): string }) {Есть функция getUserGreetings которая принимает объект с методом seyHello и вызывает его передав объект с одним полем firstName. Дальше эта функция getUserGreetings вызывается с передачей объекта у которого метод sayHello принимает объект не с одним а с двумя полями firstName и lastNamе и мы получаем ошибку в рантайме а тайпскрипт со всеми флагами строгости тупо не видит ошибку
user.sayHello({firstName: "vasya"})
}
getUserGreetings({
sayHello(user: { firstName: string, lastName: string }): string {
return "hello" + user.firstName.toUpperCase() + " " + user.lastName.toUpperCase();
}
})