Durante a criação do componente de formulário, recebi um aviso da IDE indicando que substr() está obsoleto. Embora o código ainda funcionasse normalmente nos navegadores modernos, decidi buscar uma alternativa mais atual e segura.
Lendo a documentação e pesquisando em alguns fóruns, encontrei a função substring() como a melhor substituta. Após a mudança, o código ficou assim:
tempoDecorrido(): string {
return new Date(this.tempoEmSegundos * 1000)
.toISOString()
.substring(11, 19);
// antes era substr(11, 8)
}
Apesar de terem nomes parecidos, substr() e substring() funcionam de forma diferente:
substr(início, comprimento): o segundo argumento define quantos caracteres extrair.
substring(início, fim): o segundo argumento define até qual índice extrair (sem incluí-lo).
Mesmo que substr() ainda funcione, há chances de sua remoção em futuras versões do JavaScript. Por isso, preferi adaptar o código com substring(), entendendo a diferença de comportamento para evitar possíveis bugs no futuro.