Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

213
Views
what's the best way to check if one object is a prototype of another?

I believe the best way would be something like:

var a = {a:1, b:2}
var b = Object.create(a);
b.a = 1
var c = Object.create(b);
c.c = 3;
var d = Object.create(c);

d.protoTree();  //returns: [c, b, a]
c.protoTree();  //returns: [b, a];
b.protoTree();  //returns: [a];

But is this possible? What's the best way assuming you only know the D object?

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

You can use isPrototypeOf() for this use case

about 4 years ago · Juan Pablo Isaza Report

0

If wouldn't be good to have that as a member method, but it's easy to implement as a standalone (recursive) function:

function protoTree(obj){
    if(obj === null) return []
    return [obj, ...protoTree(Object.getPrototypeOf(obj))]
}

It works like this (note that it also returns Object.prototype, that a inherits from.

var a = {a:1, b:2}
var b = Object.create(a);
b.a = 1
var c = Object.create(b);
c.c = 3;
var d = Object.create(c);

//Note that `protoTree` returns the prototype objects themselves, not the variable names they are stored in
protoTree(d);  //returns: [c, b, a, Object.prototype]
protoTree(c);  //returns: [b, a, Object.prototype]
protoTree(b);  //returns: [a, Object.prototype]
protoTree(a);  //returns: [Object.prototype]
about 4 years ago · Juan Pablo Isaza Report

0

Using Object.prototype.isPrototypeOf() is the way to do this

function Person() {}
function Child() {}

Child.prototype = Object.create(Person.prototype);

const child = new Child();

console.log(Person.prototype.isPrototypeOf(child));

console.log(Child.prototype.isPrototypeOf(child));

More about Object.prototype.isPrototypeOf() here

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!