тип не верный gender(str: 'M' | 'F') (если гурбо)
а в стринге может быть много чего, поэтому и ругается, но по хорошему для genderObj должен быть свой интерфес (GenderObjectInterface) и тогда легко для str тип задать (str: keyof GenderObjectInterface)
Спасибо!
Не знала, что так тоже можно тип указывать, спасибо)
тож не очень, тогда ксли ты передаш 'R', то компилер схавает но будет ваш пол undefined, похоже на борьбу против типизации чем на помощь кмк
так жестко указывать тип тож не очень, если у тебя добавиться новый гендер (у фейсбука их десятки) то придется этот '' | '' | " расширять до бесконечности, я бы сделал +- так interface GenderObj { M: string; W: string; } function gender(str: keyof GenderObj) { const genderObj: GenderObj = { M: '', W: '' } ... }
Мб enum проще сделать?
как вариант смысла создавать genderObj нет каждый раз, на 1й взгляд
Обсуждают сегодня