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

160
Visualizações
¿Cuánto tiempo permanece un miembro de clase estática en la memoria en javascript?

Digamos que tengo una clase así:

 class KeyStorage { // unrelated functionality omitted static Keys = {}; // contains a bunch of "key" related objects static #foundKeys = {}; static #getKey(name, ensureValid = true) { let foundKey = this.#foundKeys[name]; if (foundKey && foundKey.key.id === name) { this.#log("getKey", name, foundKey, "FOUND IN HASH TABLE"); this.#foundKeys[name].requestCount++; return foundKey; } for (let storageKey in KeyStorage.Keys) { const key = KeyStorage.Keys[storageKey]; if (key.id === name) { foundKey = key; this.#log("getKey", name, foundKey, "FOUND IN LOOP"); break; } } if (ensureValid) ArgumentNullError.Guard("foundKey", foundKey); this.#foundKeys[name] = { key: foundKey, requestCount: 1 }; return foundKey; } }

Como puede ver, cuando busco una clave, primero verifico la propiedad #foundKeys para ver si ya la he buscado antes, si no, la busco y luego la agrego al objeto #foundKeys al final si es así. Mi pregunta es, ¿cuánto tiempo mantiene la aplicación ese objeto en la memoria?

La clase se usa mucho, por lo que no puedo ver una razón por la cual la recolección de basura se active mientras la aplicación aún accede al objeto, pero no he encontrado ninguna información relacionada con esto. ¿Es "almacenar en caché" datos no confidenciales y relativamente poco importantes de esta manera una mala práctica?

En el caso de esta clase, no es muy importante que mantenga vivo el objeto durante toda la vida de la aplicación, es solo para aumentar el rendimiento al evitar buscar constantemente una clave si ya la encontré recientemente, pero es Sería bueno saber cuándo evitar hacer esto, ya que he considerado el mismo enfoque para otros problemas, pero no estoy seguro de cuáles serían los riesgos, si los hubiera.

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

¿Cuánto tiempo permanece un miembro de clase estática en la memoria en javascript?

Mientras la clase misma permanezca en la memoria. Que generalmente es toda la vida útil de la aplicación.

about 4 years ago · Santiago Trujillo 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