Avatar ·

Cómo verificar si un objeto está vacío en JavaScript (formas simples y confiables)

¡Hola! Acabo de empezar a aprender JavaScript y me encontré con una tarea: necesito verificar si un objeto está vacío (es decir, que no contiene ninguna propiedad propia). A primera vista parece simple, pero en realidad resultó más complicado. Aquí hay un ejemplo: tengo un objeto `userSettings` que puede estar vacío si el usuario no ha configurado nada: ```javascript let userSettings = {}; ``` Quiero escribir una condición como: ```javascript if (userSettings === {}) { console.log("No hay configuraciones"); } ``` Pero esto no funciona. Entendí que el operador `===` compara referencias, no el contenido de los objetos. Luego probé `Object.keys(userSettings).length === 0`, pero escuché que este método puede tener problemas. También vi que alguien usa `JSON.stringify(userSettings) === '{}'`, pero parece un parche. Por favor, indíquenme cuál es la forma más correcta y confiable. Es importante que la solución funcione en todos los navegadores modernos y no se rompa en casos complicados (por ejemplo