#javascript #reactjs #typescript #boolean #undefined
Вопрос:
Я определил тип следующих переменных как:
let isDisabled: boolean | undefined | null;
let isPrivate: boolean | undefined | null;
когда я пытаюсь это сделать:
isDisabled = null;
Я получаю эту ошибку:
Type 'null' is not assignable to type 'boolean'
Я получаю ту же ошибку, когда пытаюсь установить значение undefined.
Я также попытался объявить переменные как
let isDisabled: Maybe<boolean> | undefined;
Я не совсем понимаю, почему это происходит. Примечание: это происходит, когда TypeScript компилируется в JS
Комментарии:
1. По-видимому, это верный машинописный текст, функционирующий в typescriptlang.org/play? #код/…
2. Ха, похоже, это действительный текст (это часть кода react), поэтому я не уверен, что проблема исходит от React.
3. На игровой площадке ts нет ошибок. Пожалуйста, поделитесь полным примером с ошибкой
Ответ №1:
логические значения определяются только значением True; или False; ??
Даже когда вы пытаетесь назначить что-то var, вы должны избегать значений по умолчанию, таких как «null», попробуйте использовать другие ключевые слова …
Комментарии:
1. Он использовал тип объединения, поэтому он может назначить несколько разных типов
2. В этом случае я должен явно проверить, являются ли эти переменные Истинными/Ложными, нулевыми или неопределенными, потому что они могут быть отправлены в любом из этих типов. Кроме того, это тестовый файл, поэтому я пытаюсь писать тесты для разных сценариев.
3. Это верно, но ошибка гласит: «Тип ‘null’ не может быть присвоен типу ‘boolean'».