In questo articolo illustreremo i risultati della conversione in stringa dei tipi di dati JavaScript quando si utilizza l'operatore di concatenazione.

In JavaScript la conversione è possibile anche concatenando il dato in esame con una stringa vuota.

'use strict';

const maybeToString = value => {
    return '' + value;
};

Possiamo testare questa modalità di conversione nel modo seguente:

const values = [
    {
        label: 'undefined',
        value: undefined
    },
    {
        label: 'null',
        value: null
    },
    {
        label: 'Array',
        value: [1, 2, 3]
    },
    {
        label: 'Object',
        value: { a: true }
    },
    {
        label: 'Number',
        value: 1
    },
    {
        label: 'Boolean',
        value: true
    },
    {
        label: 'Function',
        value: function() {}
    }
    
    
];

for(const value of values) {
    console.log(value.label, maybeToString(value.value));
}

Usando questi tipi di dati, otterremo ad esempio:

undefined undefined
null null
Array 1,2,3
Object [object Object]
Number 1
Boolean true
Function function() {}

Questo approccio ha il vantaggio di prevenire il verificarsi di un TypeError per i valori null e undefined rispetto all'uso del metodo toString().