Quiero obtener test2 como String pero solo obtuve "1" en lugar de "1, 2, 3".
let test = [1, 2, 3]; console.log(String(test)); let test2 = new Set([1, 2, 3]); console.log(String(...test2));String() convierte una matriz en una cadena.
No estaba convirtiendo Set en una matriz correctamente, solo necesitaba corchetes con el operador de propagación.
let test2 = new Set([1, 2, 3, 3]); console.log(String([...test2]));String(...test2) distribuye los elementos del conjunto en argumentos discretos a String . Con su conjunto de ejemplo, es lo mismo que hacer String(1, 2, 3) . La función String no hace nada con ningún argumento que le pases que no sea el primero, por lo que String(1, 2, 3) te da el mismo resultado que String(1) : convierte el argumento en cadena y devuelve "1" .
Si desea obtener, digamos, "1, 2, 3" , puede distribuir el contenido del conjunto en una matriz y usar join :
let test2 = new Set([1, 2, 3]); console.log( [...test2].join(", ") );