Skip to main content

Bug Tracker

Side navigation

#7955 closed bug (invalid)

Opened January 12, 2011 12:04PM UTC

Closed January 12, 2011 12:38PM UTC

isPlainObject slight error

Reported by: Owned by:
Priority: undecided Milestone:
Component: misc Version: 1.4.4
Keywords: Cc:
Blocked by: Blocking:

The return value for this is:

for(key in obj) { }

return key === undefined || obj, key );

Unless I'm mistaken, shouldn't key === undefined actually be key !== undefined? If key is undefined that would mean the loop found no properties.

Attachments (0)
Change History (1)

Changed January 12, 2011 12:38PM UTC by jitter comment:1

component: unfiledmisc
resolution: → invalid
status: newclosed

Thanks for taking the time to contribute to the jQuery project by writing a bug report.

There is no bug here. The conditional is correct (an object with no properties is still an object).

If you would switch === to !== then isPlainObject would yield wrong results. E.g.

jQuery.isPlainObject( {} ); //would yield false instead of true
jQuery.isPlainObject( document); //would yield true instead of false