Executando verificação de segurança...
1

Acho que existem outras situações que podem ser interessantes. Por exemplo, em alguns casos você faz alguma verificação, mas o typescript não consegue entender.

(não verifiquei o exemplo abaixo, mas já passei por situações similares)

const other = (param: string) => {
 // ...
 return 123
}

const foo = (a: string | null) => {
  const b = a
  
  if (typeof b === "string") {
    // aqui poderia usar o as para garantir que é string
    return other(a)
  }
  
  return null
}

Outro caso seria o erro que vem do try catch

Carregando publicação patrocinada...
1

Experimenta isso:

const other = (parameter: string) => {
  // ...
  return 123
}

function isString(stringOrNull: string | null): stringOrNull is string {
  return typeof stringOrNull === 'string'
}

const foo = (a: string | null) => {
  const b = a

  if (isString(b)) {
    // aqui poderia usar o as para garantir que é string
    return other(b)
  }

  return null
}