March 2, 2001 - Finding Object Hierarchy | WebReference

March 2, 2001 - Finding Object Hierarchy

Yehuda Shiran March 2, 2001
Finding Object Hierarchy
Tips: March 2001

Yehuda Shiran, Ph.D.
Doc JavaScript

Netscape Navigator supports the usage of the __proto__ property as a private property. The __proto__ property denotes the higher-level class hierarchy from which properties and methods are inherited. The following code demonstrates that indeed the object inheritance chain is as planned:

function State() {
}
function City() {
}
City.prototype = new State;
function Street() {
}
Street.prototype = new City;
var UniversityAvenue = new Street();
tryIt();
function tryIt() {
  alert(UniversityAvenue.__proto__== Street.prototype);
  alert(UniversityAvenue.__proto__.__proto__== City.prototype);
  alert(UniversityAvenue.__proto__.__proto__.__proto__== State.prototype);
  alert(UniversityAvenue.__proto__.__proto__.__proto__.__proto__== Object.prototype);
  alert(UniversityAvenue.__proto__.__proto__.__proto__.__proto__.__proto__== null);
}

In this example, UniversityAvenue inherits from Street, which inherits from City, which inherits from State. All alert boxes will yield a value of true on Netscape Navigator 4.x and Netscape 6. Try it. Not supported by Internet Explorer.