Check js variable
check JS variable for undefined, null, empty, array, object
by Plippie Plop
HTML
<pre id="test">
//aa;
a;
b = "";
c = 0;
d = false;
e = null;
f = NaN;
g = "Hello World";
h = 1;
i = true;
j = {};
k = {data: "one" };
l = [],
m = [1, 2, 3];
n = "0";
o = -1;
p = " ";
</pre>
JavaScript
const t = document.getElementById('test');
const varToString = varObj => Object.keys(varObj)[0];
//var or let
let a,
b = "",
c = 0,
d = false,
e = null,
f = NaN,
g = "Hello world",
h = 1,
i = true,
j = {},
k = {
data: "one"
},
l = [],
m = [1, 2, 3],
n = "0",
o = -1,
p = "''";
t.insertAdjacentHTML('beforeend', validString(a, "a"));
t.insertAdjacentHTML('beforeend', validString(b, "b"));
t.insertAdjacentHTML('beforeend', validString(c, "c"));
t.insertAdjacentHTML('beforeend', validString(d, "d"));
t.insertAdjacentHTML('beforeend', validString(e, "e"));
t.insertAdjacentHTML('beforeend', validString(f, "f"));
t.insertAdjacentHTML('beforeend', validString(g, "g"));
t.insertAdjacentHTML('beforeend', validString(h, "h"));
t.insertAdjacentHTML('beforeend', validString(i, "i"));
t.insertAdjacentHTML('beforeend', validString(j, "j"));
t.insertAdjacentHTML('beforeend', validString(k, "k"));
t.insertAdjacentHTML('beforeend', validString(l, "l"));
t.insertAdjacentHTML('beforeend', validString(m, "m"));
t.insertAdjacentHTML('beforeend', validString(n, "n"));
t.insertAdjacentHTML('beforeend', validString(o, "o"));
t.insertAdjacentHTML('beforeend', validString(p, "p"));
//non existing variable
if (typeof aa === "undefined") {
t.insertAdjacentHTML('beforeend', "aa is not defined<br>");
}
function validString(str, varname) {
let resp = 'The variable <strong>' + varname + '</strong> ';
// an almost catch all:
if (typeof str !== "undefined" && str) {
resp += "is valid AND " + typeof str + ' ';
if (Array.isArray(str)) {
resp += "(Array) ";
if (str.length) {
resp += "AND had values ";
} else {
resp += "AND empty array";
}
} else if (typeof str === 'object') {
if (Object.keys(str).length > 0) {
resp += "AND has values "
} else {
resp += "AND is empty "
}
}
} else {
resp += "is <strong>invalid</strong>."
}
return resp +...