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

192
Visualizações
¿Se puede revelar el patrón del módulo sin IIFE como este y tener el mismo propósito?

Mi comprensión del patrón de módulo revelador es la siguiente:

CÓDIGO #1

 const iifeModulePattern = (function () { const secretSeed = 999; // ← private const logSecretCode = function(){console.log(secretSeed+1)}; return {methodForPublic : logSecretCode}; })(); iifeModulePattern.methodForPublic();

Hasta ahora espero no estar equivocado. Mi pregunta es:

  1. ¿El siguiente Código #2 no servirá para el mismo propósito?
  2. Si es así, ¿por qué el código n.° 1 es más popular que el código n.° 2?
  3. Si no es así, ¿cuál es la diferencia?

CÓDIGO #2

 const modulePattern = () => { const secretSeed = 999; // ← private const logSecretCode = function(){console.log(secretSeed+1)}; return {methodForPublic : logSecretCode}; }; modulePattern().methodForPublic();

No almacenaré códigos "secretos" (como contraseñas) de esta manera. Los códigos anteriores son solo ejemplos.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

 const iifeModulePattern = (function() { let value = 0; // private return { next: () => (value = 134775813 * value + 1) >>> 0 }; })(); for (let i = 0; i < 5; ++i) { console.log("iifeModulePattern.next()", i, iifeModulePattern.next()); } console.log("The basic IIFE."); console.log(""); const modulePattern = () => { let value = 0; // private return { next: () => (value = 134775813 * value + 1) >>> 0 }; }; for (let i = 0; i < 5; ++i) { console.log("modulePattern().next()", i, modulePattern().next()); } console.log("Kinda pointless this way, ain't it? Everytime, the sequence starts all over."); console.log(""); const instance1 = modulePattern(); const instance2 = modulePattern(); for (let i = 0; i < 10; ++i) { console.log("instance1.next()", i, instance1.next()); if (i & 1) { console.log("instance2.next()", i, instance2.next()); } } console.log("This usage makes more sense.\nAnd the two instances progress independant of each other.");
 .as-console-wrapper {top:0;max-height:100%!important}

¿El siguiente Código #2 no servirá para el mismo propósito?

Si no talvez; depende de como lo uses.

Si no es así, ¿cuál es la diferencia?

iifeModulePattern es un singleton, modulePattern() es una fábrica.

Si es así, ¿por qué el código n.° 1 es más popular que el código n.° 2?

¿Cuál es el propósito de darle un nombre a la fábrica, almacenarlo en una variable si todo lo que hará es llamarlo una vez, aquí mismo, ahora mismo?

about 4 years ago · Juan Pablo Isaza Relatório
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