Посмотрите этот пример кода, который я видел:
import * as React from 'react';
const Count: React.FunctionComponent<{
count: number; // this is the line that confuses me
}> = (props) => {
return <h1>{props.count}</h1>;
};
export default Count;
Эта структура объекта определяет ожидаемые реквизиты, но с каких это пор синтаксически правильно использовать точку с запятой после пар k-v в объекте? Должно быть, это синтаксис Typescript, с которым я не знаком, но я не уверен, как он называется.





Это эквивалент определения интерфейса, только без имени, поэтому следует синтаксису показано здесь:
interface CountInterface {
count: number;
}
На самом деле это не пара ключ-значение, это скорее пара типа ключа. Из-за того, как должен работать машинописный текст, это означает, что это набор операторов (оканчивающихся точкой с запятой), и хотя он выглядит как литерал объекта, это не так.
Итак, да, это «машинопись», которая позволяет выполнять проверку типов.