Ok, esto me tiene perplejo, espero que alguno de ustedes me pueda ayudar. Entonces, tengo una aplicación que usa un condensador para construir. En mi aplicación tengo variables JS globales, por ejemplo:
//globals var isCheckin = ""; var isUser = "";etc...
En Android, esto funciona bien (y anteriormente funcionó en IOS). Pero ahora, cuando voy a construirlo en IOS y ejecuto la aplicación, mis declaraciones if para cosas como:
if(isCheckin !== "") {} Ya no funciona, porque isCheckin vuelve como undefined .
Estaba buscando un poco y me encontré con 'izar' y, aunque supongo que ese puede ser el caso, ¿por qué?
undefined ?De hecho, la versión actual de la aplicación, en la tienda de aplicaciones, todavía funciona bien, pero las nuevas versiones tienen este problema cuando Safari parece ignorar las variables globales.
Debe definirse su definición de variable global .
Veamos este primer ejemplo:
const myFunction = (() => { var foo = 'bar'; }); myFunction(); console.log(foo);La variable se define en el ámbito de una función. Es decir, fuera de ese ámbito será indefinido.
Lo que puedes hacer es eliminar var de él. Ver:
const myFunction = (() => { foo = 'bar'; }); myFunction(); console.log(foo); Ahora la variable es global y también se puede usar fuera de la función. PERO si configura "use stricht" , la variable no estará definida. Ver:
"use strict" /* global console */ const myFunction = (() => { foo = 'bar'; }); myFunction(); console.log(foo); Entonces, la forma más limpia de obtener el valor de la variable fuera del alcance es usando let . Ver:
"use strict" /* global console */ let foo; const myFunction = (() => { foo = 'bar'; }); myFunction(); console.log(foo);