Как узнать количество уровней прототипного наследования объекта?
Нужно написать функцию, которая принимает объект и возвращает количество уровней прототипного наследования этого объекта
Для проверки:
const obj = { a: 1 };
const obj2 = Object.create(obj);
const obj3 = Object.create(obj2);
console.log(layersOfInheritance({})); // 0
console.log(layersOfInheritance(new Date())); // 1
console.log(layersOfInheritance(obj3)); // 2
Можно использовать рекурсию и метод Object getPrototypeOf.
Источник: Stack Overflow на русском