In most cases, this is the desired behavior, but in situations where you want to also return true for functions, you could amend the above solution to be: console.log((bar != null) & ((typeof bar = "object") || (typeof bar = "function"))) To be entirely thorough in our answer, there are two other things worth noting:įirst, the above solution will return false if bar is a function. Therefore, the following code will, to the surprise of most developers, log true (not false) to the console: var bar = null Ĭonsole.log(typeof bar = "object") // logs true!Īs long as one is aware of this, the problem can easily be avoided by also checking if bar is null: console.log((bar != null) & (typeof bar = "object")) // logs false Although typeof bar = "object" is a reliable way of checking if bar is an object, the surprising gotcha in JavaScript is that null is also considered an object!
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |