Поэтому даже мои файлы .js проверяются строго на соответствие типам TypeScript.
У меня есть объект JavaScript, который сопоставляет команды сотрудникам:
Код: Выделить всё
const TEAM_MEMBERS = {
TEAM_ALPHA: ["Alice", "Bob", "Charlie"],
TEAM_BETA: ["David", "Eve", "Frank"],
TEAM_GAMMA: ["Grace", "Heidi", "Ivan"],
};
Код: Выделить всё
export enum EMPLOYEE {
ALICE = "Alice",
BOB = "Bob",
CHARLIE = "Charlie",
David = "David",
Eve = "Eve",
Frank = "Frank",
Grace = "Grace",
Heidi = "Heidi",
Ivan = "Ivan",
}
export enum TEAM {
TEAM_ALPHA = "TEAM_ALPHA",
TEAM_BETA = "TEAM_BETA",
TEAM_GAMMA = "TEAM_GAMMA",
}
Код: Выделить всё
/**
* Get the team for a given employee.
*
* @param {import("./Types").EMPLOYEE} employee - The employee name.
* @returns {import("./Types").TEAM|undefined} The team name, or undefined if not found.
*/
function getTeam(employee) {
return Object.keys(TEAM_MEMBERS).find((teamKey) =>
TEAM_MEMBERS[teamKey].includes(employee)
);
}
- Введите 'string | undefined» нельзя назначить типу «TEAM | не определено».
Тип «строка» не может быть присвоен типу «TEAM | undefined'.ts(2322) - Элемент неявно имеет тип «любой», поскольку выражение типа «строка»
не может использоваться для индексации типа '{ TEAM_ALPHA: readonly string[]; ... }'.ts(7053)
Подробнее здесь: https://stackoverflow.com/questions/798 ... h-typescri
Мобильная версия