Сегодня у меня возникла необходимость проверить, был ли объект пустым.
Поскольку в JavaScript объекты сравниваются по ссылке, мы не можем выполнить простое сравнение, подобное этому:
const obj = {}
if (obj === {}) {
//no
}Решение состоит в том, чтобы передать объект встроенному методу Object.keys() и проверить, является ли конструктор объекта Объектом :
const obj = {}
Object.keys(obj).length === 0 && obj.constructor === ObjectВажно добавить вторую проверку, чтобы избежать ложных срабатываний.
Оригинал: “https://flaviocopes.com/javascript-check-empty-object/”