Não use trim() no seu JavaScript!

Fiquei dois dias batendo cabeça em um erro que só acontecia em produção com o cliente, mas não acontecia comigo. Foi quando resolvi envolver o código com um try-catch e o erro veio a tona:

trim is not defined

E isso aconteceu com o cliente tanto no Chrome e no Firefox, sendo que testei em ambos navegadores, e no mesmo sistema operacional, e o erro só acontecia com ele.

Nem quero entrar no mérito do porquê, vou esquecer a existência desse método e fiz o meu próprio:

1
2
3
function strTrim(str) {
    return str.replace(/^\s+|\s+$/g, '');
}

Por enquanto o replace está funcionando.  :lol:


Usando objeto como parâmetro no JavaScript

Trabalhar com parâmetros fixos em uma função pode deixar seu código engessado, pois quando você precisar alterar os parâmetros, você precisará alterar todo o código que faz referência a função em questão. Para quem está acostumado a trabalhar com o jQuery, ou outras bibliotecas semelhantes, está acostumado a fazer chamadas de funções utilizando objetos como parâmetros, definindo valores e funções conforme a necessidade. Neste artigo irei explicar como construir sua própria função utilizando objeto como parâmetro.

Continue lendo