Typescript: Aviso de compilação desnecessário: TS2454

Criado em 24 set. 2017  ·  3Comentários  ·  Fonte: microsoft/TypeScript

Por favor, veja esta imagem:

screenshot 2017-09-23 15 41 31

Neste caso temp já foi declarado, mas pode nunca ter sido atribuído. O if-check impede seu uso, se não tiver sido atribuído, então este aviso de compilação pode ser desnecessário?

obrigado

Question

Comentários muito úteis

let temp: string | undefined parece mais preciso para esse código no mundo de verificações estritas de nulos e também corrige o erro.

Todos 3 comentários

Eu entendo seu ponto, mas na maioria das vezes as declarações "if" são usadas para verificar o valor de uma variável, não para ver se ele foi atribuído. Esse aviso é útil porque na maioria das vezes (pelo menos em minha experiência e na maioria dos códigos profissionais que já vi) essa situação não é, de fato, a intenção do programador.

Como uma observação lateral, uma vez que "temp" só é definido dentro dessa instrução if, você pode mesclar suas duas condicionais (a menos que path.normalize () possa retornar um valor falso, caso em que você pode apenas atribuir um valor falso a temp em seu declaração ou no outro ramo de qualquer maneira).

let temp: string | undefined parece mais preciso para esse código no mundo de verificações estritas de nulos e também corrige o erro.

Um trecho de código que pode ser copiado e colado em um buffer de texto em vez de uma captura de tela de um IDE é geralmente muito mais útil.

Esta página foi útil?
0 / 5 - 0 avaliações