Javascript no tiene problemas para anidar un objeto dentro de sí mismo, es decir, si tiene un objeto A, puede pasarlo como una propiedad en el objeto A:
const nested = {}; nested.name = "hi"; nested.child = nested; console.log(nested, nested.child, nested.child.child, "... and so on");
Si ejecuta esto en la consola del navegador, puede seguir expandiendo la propiedad secundaria hasta... ¿infinito?
¿Existe un límite para la profundidad de anidamiento de los objetos y cuál es?
No, no hay límite y puedes anidar libremente más. Pero, si continúa registrando en la consola objetos anidados en objetos anidados, etc., el programa se ralentizará debido a la memoria limitada.
No hay límite en la especificación de Javascript.
Si quisiera encontrar un límite particular en un motor JS en particular, tendría que codificar una prueba y ver si puede encontrar un límite y encontrar un límite probablemente no esté relacionado en absoluto con el anidamiento, sino solo con el número de objetos y la memoria utilizada por ellos.