"foo" instanceof String //=> false "foo" instanceof Object //=> false true instanceof Boolean //=> false true instanceof Object //=>
I use:
function isString(s) { return typeof(s) === 'string' || s instanceof String; }
Because in JavaScript strings can be literals or objects.