Тип <UniversalConf>
in
const providers = [
<UniversalConf> {
"providerCode": "UA", // Compiler does not complain about non-defined property
"trackingId": "XXXXXXXXXX",
"eCommerceFlows": ["REVENUE", "BAD_FLOW"] // Compiler does not complain about BAD_FLOW
}
]
является утверждением ; подавляет проверку типов, сообщая компилятору: «Я знаю, что это такое». Вместо этого вы хотите сообщить компилятору, какой тип идентификатора вы ожидаете, и позволить ему проверить значение:
const providers: UniversalConf[] = [
{
"providerCode": "UA",
"trackingId": "XXXXXXXXXX",
"eCommerceFlows": ["REVENUE", "BAD_FLOW"]
}
]
Если у вас есть массив, который может содержать несколько возможных типов, вы можете использовать тип объединения для представления:
const providers: (UniversalConf | ...)[] = [
{
"providerCode": "UA",
"trackingId": "XXXXXXXXXX",
"eCommerceFlows": ["REVENUE", "BAD_FLOW"]
}
]