Avoid using inherited hasOwnProperty

Fix #1031
This commit is contained in:
Mihai Bazon
2016-04-07 13:15:28 +03:00
parent 98434258d0
commit 9317237372
3 changed files with 11 additions and 7 deletions

View File

@@ -71,7 +71,7 @@ function DEFNODE(type, props, methods, base) {
if (type) { if (type) {
ctor.prototype.TYPE = ctor.TYPE = type; ctor.prototype.TYPE = ctor.TYPE = type;
} }
if (methods) for (i in methods) if (methods.hasOwnProperty(i)) { if (methods) for (i in methods) if (HOP(methods, i)) {
if (/^\$/.test(i)) { if (/^\$/.test(i)) {
ctor[i.substr(1)] = methods[i]; ctor[i.substr(1)] = methods[i];
} else { } else {

View File

@@ -2509,7 +2509,7 @@ merge(Compressor.prototype, {
if (self.undeclared() && !isLHS(self, compressor.parent())) { if (self.undeclared() && !isLHS(self, compressor.parent())) {
var defines = compressor.option("global_defs"); var defines = compressor.option("global_defs");
if (defines && defines.hasOwnProperty(self.name)) { if (defines && HOP(defines, self.name)) {
return make_node_from_constant(compressor, defines[self.name], self); return make_node_from_constant(compressor, defines[self.name], self);
} }
switch (self.name) { switch (self.name) {

View File

@@ -97,17 +97,17 @@ function defaults(args, defs, croak) {
if (args === true) if (args === true)
args = {}; args = {};
var ret = args || {}; var ret = args || {};
if (croak) for (var i in ret) if (ret.hasOwnProperty(i) && !defs.hasOwnProperty(i)) if (croak) for (var i in ret) if (HOP(ret, i) && !HOP(defs, i))
DefaultsError.croak("`" + i + "` is not a supported option", defs); DefaultsError.croak("`" + i + "` is not a supported option", defs);
for (var i in defs) if (defs.hasOwnProperty(i)) { for (var i in defs) if (HOP(defs, i)) {
ret[i] = (args && args.hasOwnProperty(i)) ? args[i] : defs[i]; ret[i] = (args && HOP(args, i)) ? args[i] : defs[i];
} }
return ret; return ret;
}; };
function merge(obj, ext) { function merge(obj, ext) {
var count = 0; var count = 0;
for (var i in ext) if (ext.hasOwnProperty(i)) { for (var i in ext) if (HOP(ext, i)) {
obj[i] = ext[i]; obj[i] = ext[i];
count++; count++;
} }
@@ -150,7 +150,7 @@ var MAP = (function(){
} }
} }
else { else {
for (i in a) if (a.hasOwnProperty(i)) if (doit()) break; for (i in a) if (HOP(a, i)) if (doit()) break;
} }
return top.concat(ret); return top.concat(ret);
}; };
@@ -308,3 +308,7 @@ Dictionary.fromObject = function(obj) {
dict._size = merge(dict._values, obj); dict._size = merge(dict._values, obj);
return dict; return dict;
}; };
function HOP(obj, prop) {
return Object.prototype.hasOwnProperty.call(obj, prop);
}