Oi pessoal, tudo bem?
O trecho que não entendi é este:
const bibliotecaString = JSON.parse(JSON.stringify(biblioteca));
Aqui está o código completo:
const novoLivro = {
"titulo": "Node.js: Guia Prático",
"autor": "Alice Coder",
"genero": "Tecnologia",
"ano_publicacao": 2022
};
const biblioteca = require("./biblioteca.json");
biblioteca.push(novoLivro);
const bibliotecaString = JSON.parse(JSON.stringify(biblioteca));
console.log(typeof(bibliotecaString));
console.log(bibliotecaString);
Minha dúvida é a seguinte:
Pelo que eu entendi, JSON.stringify() transforma o objeto em string.
Depois, JSON.parse() transforma essa string de volta em objeto.
Só que, olhando para o começo da variável (bibliotecaString), pensei que no final ainda seria uma string, porque termina com JSON.stringify(biblioteca). Mas o resultado é um objeto novamente.
Por que isso acontece? Qual a lógica de terminar com stringify e a saida ser um parse?