you_are_enot
@you_are_enot
Пограммист любитель

Как инициаизировать пустую переменную?

При вызове функции инициализируется переменная, но значение ей присваивается позже. Из-за этого ts выводит ошибку. Если же я указываю альтернативный тип sheets_v4.Sheets | undefined, то в дальнейшем, при вызове свойств client, опять возникает ошибка, т.к. у undefined не может быть свойств.

let client: sheets_v4.Sheets
// ....
client = ...



Property 'client' has no initializer and is not definitely assigned in the constructor
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
Robur
@Robur
Знаю больше чем это необходимо
let client
// ....
client = ...


client будет того типа что в него присвоили.

Но судя по всему у вас client это свойство класса - для него надо либо инициализировать в конструкторе, или писать | undefined, потому что там и правда может быть undefined

Если вы стопудово уверены что до любого использования в классе client будет инициализирован то
client!: sheets_v4.Sheets
тут вы берете ответственность на себя и если все развалится и упадет потому что там будет undefined - тайпскрипт не виноват.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@abberati
frontend-разработчик
Ну так у вас в переменной лежит либо какой-то тип, либо юнион из этого типа и undefined. Инициализируйте сразу значением. Если это невозможно, то придётся делать проверки, на то она и строгая статическая типизация.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы