Object property count
Easily retrieve the length of an object’s keys, own property names, and own property symbols.
| Type | TC39 | CoreJS | Babel | Civet | JS+ |
|---|---|---|---|---|---|
| Polyfill | ✅ Stage 1 View | ❌ | ❌ | ❌ | ✅ via Custom |
Object.keysLength(object: object): number
Section titled “Object.keysLength(object: object): number”Returns the number of an object’s enumerable own string-keyed properties. Equivalent to Object.keys(object).length.
Object.keysLength({ a: 1, b: 2, c: 3 }); // → 3Object.keysLength({}); // → 0Object.getOwnPropertyNamesLength(object: object): number
Section titled “Object.getOwnPropertyNamesLength(object: object): number”Returns the number of an object’s own string-keyed properties, including non-enumerable ones. Equivalent to Object.getOwnPropertyNames(object).length.
const obj = Object.defineProperty({}, 'hidden', { value: 1, enumerable: false });Object.keysLength(obj); // → 0 (non-enumerable excluded)Object.getOwnPropertyNamesLength(obj); // → 1 (non-enumerable included)Object.getOwnPropertySymbolsLength(object: object): number
Section titled “Object.getOwnPropertySymbolsLength(object: object): number”Returns the number of an object’s own symbol-keyed properties. Equivalent to Object.getOwnPropertySymbols(object).length.
const sym1 = Symbol('a');const sym2 = Symbol('b');const obj = { [sym1]: 1, [sym2]: 2, c: 3 };
Object.getOwnPropertySymbolsLength(obj); // → 2 (only symbols counted)Object.keysLength(obj); // → 1 (only string keys counted)