Например я использую ag-grid и определяю в компоненте свойство gridApi: GridApi;
По факту оно будет установлено, только по событию готовности грида. Но я спокойно его в коде юзаю, т.к. знаю, что я обращаюсь только когда грид и апи готово.
Нужно ставить ! или определять как gridApi: GridApi | null = null; ?
Но тогда везде где вызываю, придется делать проверку, есть ли апи.
Вот, кстати да, бесит везде if something писать
Ну тут для простоты можно отрицательный случай сразу сбрить if (!this.gridApi) { return; } Да, тут согласен, я вот знаю, но с другой стороны придет другой чел, и в конструкторе пойдет апи вызывать, когда ещё gridApi и в помине нет, а так бы ts мог отловить) Но тогда он скорее как в коде рядом if на проверку грида воткнет и норм)
Ну, например в Scala есть тип Option<T>, который определяется через подтипы Some(something) и None. И через него определяется метод getOrElse(item, default). Возвращает item, если не null, иначе значение default. Очень удобно, я считаю.
Норм, только вот как в ts поступить, тут вариант или делать какой-то доп код или тип утверждать. А вот как лучше, пока не знаю.
Я вот на утверждения перешёл. Но это не всегда будет работать, да
Обсуждают сегодня