_.toType for robust type checking, improvement of typeof #269
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds
_.toType()
method, borrowed from Angus Croll's article on "Fixing the JavaScript typeof operator" (http://javascriptweblog.wordpress.com/2011/08/08/fixing-the-javascript-typeof-operator/). Includes some tests, too.Normally I only ever use
typeof whatever !== "undefined"
since as Angus points out, typeof is pretty useless for many other cases, for example:vs:
NB. It might make more sense to return types as lowercase in some scenarios (for example "Undefined" or "Null", or where the difference between "string" and "String" might cause issues) - not sure really. Perhaps the function could return lowercase by default, and add an option eg.
preserveCase = preserveCase || false