Vimos no post sobre funções que uma função pode possuir parâmetros e retornar valores, e na ocasião trabalhamos apenas com tipos primitivos da linguagem, e hoje veremos como receber e retornar arrays e objetos.
Retorno
Uma função que retorna um tipo mais complexo como um array ou um objeto pode nos ajudar, dentre outras coisas, a evitar a declaração de variáveis globais, também pode diminuir a complexidade de uma operação, vejamos alguns exemplos:
- function nomes() { return ['maria', 'teresa', 'flávia']; }; (essa rotina nos retorna uma lista de nomes);
- nomes()[1]; (como o retorno é um array conseguimos acessar um elemento conhecido por meio de seu indice);
- function recuperarPessoa() { var pessoa = { nome: 'Filisteu', idade: 89, sobre: function(){ return pessoa.nome + ', ' + pessoa.idade + ' anos'} }; return pessoa; }; (essa rotina retorna um objeto, sendo que esse objeto possui propriedades e métodos);
- recuperarPessoa().nome; (dessa forma acessamos a propriedade diretamente do retorno;)
- recuperarPessoa().sobre(); (dessa forma executamos o método diretamente do retorno;
Parâmetros
Parâmetros mais complexo como um array ou um objeto podem diminuir a quantidade de argumentos passados para a função, diminuindo assim a complexidade e compreensão do mesmo:
- function saudacao(pessoa) { return 'Olá ' + pessoa.nome + '! Nesse momento você tem ' + pessoa.idade + ' ano(s) de vida, parabéns'; } (essa rotina espera um objeto do tipo "pessoa", contendo ao menos duas propriedades, nome e idade)
- saudacao( { nome: 'Xisto', idade: 88 }); (nessa execução criamos o objeto já na passagem do parâmetro);
- function valorPrimeiroIndice(array) { return array[0]; } (essa rotina sempre espera um array que tenha ao menos um elemento)
- valorPrimeiroIndice( [ 'primeiro!', 2, false] ); (ao usa-la temos como resposta o texto 'primeiro!')
Comentários
Postar um comentário
Obrigado por Participar do programero, fique a vontade para agradecer, retificar, perguntar ou sugerir.