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

348
Visualizações
En JavaScript, ¿es posible arrojar un error cada vez que una variable está configurada como indefinida?

Encuentro que JavaScript establece una variable igual a indefinida en lugar de arrojar un error hace que la depuración sea mucho más difícil y nunca me ha resultado útil. Por ejemplo:

 var a = ["apple","banana","orange"] var b = a[5]

establecería b en indefinido en lugar de arrojar un error. Solo cuando b se usa más tarde, se arrojará un error, lo que dificultará ver la fuente del error.

Entonces podría verificar el valor de b:

 if(b===undefined){ throw "variable undefined" }

pero no me gustaría hacer esto cada vez que defino o cambio el valor de cualquier variable.

¿Hay alguna forma de hacer que JavaScript arroje automáticamente un error cada vez que una variable se establece en indefinida?

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

0

Específicamente para este caso y otros, he preparado una función que toma un objeto y un arreglo de claves/índices y devuelve el valor objetivo, o predeterminado en caso de indefinido. Puedes cambiarlo para que arroje un error.

Simplemente significa que cuando quiera el valor del objeto, use esta sintaxis: gov(obj, [key1, key2]) en lugar de obj[key1][key2] .

 function gov(object, arr_keys, default_value) { if (!typeof arr_keys == "array") { throw new Error("gov arr_keys argument must be an array"); } for (var i = 0; i < arr_keys.length; i++) { var key = arr_keys[i]; if (typeof(key) == "number" || typeof(key) == "string") { if (object && (key in object)) { object = object[key]; } else { // throw your error here. throw new Error("variable undefined"); // or return default_value; } } else { throw new Error("gov key must be string or integer, " + typeof key + " given, key=" + key); } } return object; } var given = { property: "value", nested: { arr: [2, 4, 6] } } console.log("> when key is ok:"); console.log(given["nested"]["arr"][2]) console.log(gov(given, ["nested", "arr", 2], "default value")) console.log("> when value is undefined:"); console.log(given["nested"]["arr"][5]) console.log(gov(given, ["nested", "arr", 5], "default value"))

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