Hay mucha información para buscar vars normales "indefinidos" en JavaScript, pero necesito buscar un eval (var) como:
var Hello_0 = "Hello 0 !"; console.log(" Hello_0 is: " + eval("Hello_"+0)); var dinamyc_var = "Hello_"+1; //None of the next conditionals is triggered/// if (eval(dinamyc_var) === undefined) { console.log(" dinamyc_var is undefined "); } if (eval(dinamyc_var) === null) { console.log(" dinamyc_var is null "); } if ( typeof eval(created_node) === undefined ) { console.log(" dinamyc_var is typeof undefined "); } if ( typeof eval(created_node) === null ) { console.log(" dinamyc_var is typeof null "); } console.log(" dinamyc_var is: " + eval(dinamyc_var));https://jsfiddle.net/mczdrv5t/
La consola muestra el valor de eval("Hello_"+0) porque fue declarado, pero la consola muestra el siguiente error cuando intenta llamar a eval("Hello_"+1) que no fue declarado. Necesito manejar posibles vars no declarados.
Error de referencia no capturado: Hello_1 no está definido en eval (eval at ....
No use eval. Si necesita almacenar valores de diferentes nombres, use un objeto en su lugar:
const values = {} values["Hello_0"] = "Hello 0 !" if (values["Hello_" + 1] === undefined) { // ... } Como nota al margen, if (eval('typeof ' + dynamic_var) === 'undefined') funcionaría, pero nuevamente, no use eval.
Tampoco hagas window[dynamic_var] = ... para almacenar variables globales, los nombres pueden entrar en conflicto con las variables globales existentes.