Функция $.isEmptyObject()
Определение и применение
Функция $.isEmptyObject() проверяет, есть ли у объекта перечисляемые строковые свойства. Её можно
встретить при проверке словаря настроек перед объединением или отправкой данных.
Синтаксис
const empty = $.isEmptyObject(object);Параметры и возвращаемое значение
Аргументом должен быть объект. Результат true означает отсутствие свойств, видимых при таком переборе;
false — наличие хотя бы одного. Метод не проверяет значения: поле с undefined тоже считается
существующим.
Учитываются собственные и унаследованные перечисляемые строковые свойства. Неперечисляемые поля и ключи
Symbol не учитываются. Поэтому «пустой» здесь не означает отсутствие любых внутренних данных объекта.
Особенности и совместимость
Функция доступна с 1.4 и поддерживается в 4.0. Не применяйте её как универсальную проверку пустоты строк, массивов,
DOM-элементов или других специальных объектов. Для массива обычно проверяют length.
Object.keys(object).length === 0 проверяет только собственные перечисляемые строковые ключи. Это полезная
альтернатива для словарей, но её смысл отличается при наличии унаследованных свойств.
Документация
Пример использования
Собственные и унаследованные поля: попробуйте сами
Пустой объект даёт true. Объект с унаследованным полем — false, хотя Object.keys() возвращает пустой массив. Используется jQuery 4.0.0.
index.html
<pre id="result"></pre>
main.js
const inherited = Object.create({ enabled: true })
$('#result').text([$.isEmptyObject({}), $.isEmptyObject(inherited), Object.keys(inherited).length].join(' | '))
Нажмите , чтобы запустить пример.