Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

214
Visualizações
Destructuring vs. `if`: Which would perform better?

I have a function called updateLanguages which I can write in two ways.

First, using object destructuring and || operator:

const updateLanguages = async (content, post) => {
    const languages = new Set();
    try {
        const attachments = post.attachments || {};
        const { poll, mediaFile } = attachments;
        const { first, second, third, fourth } = poll || {};
        const { description: mediaDescription } = mediaFile || {};
        await Promise.all([
            populateLanguages(content, languages),
            first && populateLanguages(first, languages),
            second && populateLanguages(second, languages),
            third && populateLanguages(third, languages),
            fourth && populateLanguages(fourth, languages),
            mediaDescription && populateLanguages(mediaDescription, languages)
        ]);
    } catch {
        languages.add("xx");
    }
    post.languages = [...languages];
};

Second, using if blocks:

const updateLanguages = async (content, post) => {
    const languages = new Set();
    try {
        await populateLanguages(content, languages);
        const attachments = post.attachments;
        if(attachments) {
            const { poll, mediaFile } = attachments;
            if(poll) {
                const { first, second, third, fourth } = poll;
                await Promise.all([
                    first && populateLanguages(first, languages),
                    second && populateLanguages(second, languages),
                    third && populateLanguages(third, languages),
                    fourth && populateLanguages(fourth, languages)
                ]);
            }
            if(mediaFile) {
                const { description: mediaDescription } = mediaFile;
                if(mediaDescription) {
                    await populateLanguages(mediaDescription, languages);
                }
            }
        }
    } catch {
        languages.add("xx");
    }
    post.languages = [...languages];
};

Which one would perform faster and use less memory? And why?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda