//instanceof does not work on primtive values console.log("" instanceof String); //logs false console.log(3 instanceof Number); //logs false console.log(false instanceof Boolean); //logs false //instanceof works on complex values (i.e. objects) console.log(new String() instanceof String); //logs true console.log(new Number() instanceof Number); //logs true console.log(new Boolean() instanceof Boolean); //logs true console.log([] instanceof Array); //logs true console.log({} instanceof Object); //logs true console.log(/foo/ instanceof RegExp); //logs true //be aware console.log([] instanceof Object); //logs true