toString() ou +”" para converter número para string em javascript

em um outro post falei sobre a conversão “automática” de um número para string em uma concatenação em javascript.

este recurso é usado por alguns desenvolvedores para fazer a conversão para string.

var number = 897;
var numberToString = number + "";
> "897" #entre aspas em um debug para indicar que é uma string

eu não gosto deste uso mesmo que o resultado seja o desejado. o javascript oferece o método toString. e eu prefiro utilizar este método ao invés de utilizar +”".

var number = 897;
var numberToString = number.toString();
> "897" #entre aspas em um debug para indicar que é uma string

o motivo de preferir utilizar o método toString em vez de + “” é a legibilidade do código (“readability”). a concatenação com uma string vazia “” pode gerar dúvidas em um outro desenvolvedor lendo o código. esta concatenação não é totalmente clara que o objetivo é apenas uma conversão para string. acredito que o uso do método toString deixa este objetivo bem claro para os leitores do código.

dave thomas explicando o que ele pensar ser um bom código (clean code) no primeiro capítulo do livro  “Clean code” diz:

“Clean code can be read, and enhanced by a developer other than its original author…”