Цель: Итерация по свойствам объекта с возможностью требований к свойствам.
Настройки: Принимает на вход два аргумента, первый это любой объект, свойства которого будут перечислены, второй аргумент это объект опций, но вместо объекта можно указать функцию, которая будет задавать правила по которому будет отсеивать свойства.
Номенклатура объекта опций:
{
/// Данный режим влияет на то как будут интерпретироваться флаги,
/// match - это полное соответствие флагов к дескрипторам,
/// accessor - тогда значения флагов могут быть true или false, если true тогда тогда не важно какое значение имеет дескриптор свойства, если false тогда дескриптор с false или undefined не учитывается при перечислении