Durante o curso, fizemos um mecanismo de validação no setter cliente usando o instanceof para prevenir que usuário inserisse um cliente que não fosse um objeto da Classe Cliente. Percebi que essa validação estava falha pois no ato de criar uma conta, ao fornecer agência e cliente, ainda era possível passar uma informação inválida de cliente. Coloquei o mesmo mecanismo de verificação do setter no constructor e o problema foi resolvido. Tentando expandir esse pensamento, coloquei também mecanismos de verificação para agência e saldo Inicial no constructor com a função isNaN(), para garantir que os dados inseridos eram numéricos.
Contudo me deparei com um problema esquisito: se eu declaro um saldo inicial na forma de string (ex.: "300"), a verificação permite a inserção do dado, automaticamente interpretando-o como número. Caso eu faça um depósito em sequência à abertura desta conta (ex.: depositar 500), ao invés de somar normalmente os valores (500 + 300 = 800), o programa concatena-os (500 + 300 = 500300) provavelmente por ainda interpretar o saldo inicial como string.
Qual seria uma função ou instrução adequada para checar se os dados da agência e do saldo inicial são númericos?