Use type checks when checking for a prototype property.

This commit is contained in:
John-David Dalton
2014-09-20 11:47:34 -07:00
parent 7976aa4b28
commit 1aafb6c2c1
2 changed files with 8 additions and 4 deletions

View File

@@ -7627,7 +7627,7 @@
var Ctor = object.constructor,
length = object.length;
}
if ((Ctor && Ctor.prototype === object) ||
if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
(typeof length == 'number' && length > 0) ||
(support.enumPrototypes && typeof object == 'function')) {
return shimKeys(object);
@@ -7670,7 +7670,7 @@
var keyIndex,
Ctor = object.constructor,
index = -1,
isProto = Ctor && Ctor.prototype === object,
isProto = typeof Ctor == 'function' && Ctor.prototype === object,
maxIndex = length - 1,
result = Array(length),
skipIndexes = length > 0,
@@ -7947,7 +7947,7 @@
accumulator = [];
} else if (isObject(object)) {
var Ctor = object.constructor;
accumulator = baseCreate(Ctor && Ctor.prototype);
accumulator = baseCreate(typeof Ctor == 'function' && Ctor.prototype);
} else {
accumulator = {};
}