checks if foo is not defined, i.e. undefined, null, an empty string, array, object or NaN
created at Feb. 5, 2016, 9:03 a.m.
3 +0
5 +0
defines static object attributes using `Object.defineProperties`
created at March 6, 2016, 1:59 p.m.
4 +0
0 +0