Get the first key name of a JavaScript object
Extract the first key of an object using Object.keys(obj)[0]:
Here you go, the first key: "firstKey". Abracadabra!
Fine details and edge cases
Object.keys() and key order
Object.keys() fetches keys based on the order in which they were created. Numerical keys, however, are sorted:
for...in, the old-fashioned way
Though a bit "retro", a for...in loop can also fetch keys, but might not keep the Object.keys() order:
"Is Object.keys() even allowed here?"
Checking compatibility is a defensive programming must:
This way, your code won't freak out in older JS contexts.
That "modern" library, Underscore.js
If you're already a fan of Underscore.js, it's got us covered:
Extracting all the juicy details
More than just keys
Object.keys(obj)[0] gets the first key, Object.values(obj)[0] the first value, and Object.entries(obj)[0] gets both as a pair:
JavaScript objects: predictably unpredictable
Objects in JavaScript are quite mysterious - they maintain no guaranteed key order. You're in the Matrix now!
When you need the order guaranteed
If the key order is of utmost importance to you, use a Map:
One loop to rule them all
Controlling the for...in loop with break gets us the first property without extra steps:
Minding those not-so-obvious gotchas
JavaScript engines: agreeing to disagree
The way property order is handled may differ between JS engines, like heated debates in pizza toppings:
Obj-, obj-, objections!
Object.keys() is shy around non-enumerable parameters. Say hi to Reflect.ownKeys():
The Babel factor
Using transpilers like Babel? Better check if it doesn't jumble up your key order:
Useful resources
- Object.keys() - JavaScript | MDN — nitty-gritty details on getting property names.
 - ECMAScript® 2024 Language Specification — level up your JS knowledge and stay trendy!
 - Iterating Over JavaScript Objects - Looping Techniques | DigitalOcean — different ways of object iterations unpacked.
 - Reflect.ownKeys() - JavaScript | MDN — how to see even the non-enumerable ones!
 
Sign-off
Practice, polish skills, and keep asking questions! Happy coding!👩💻
Oh, and if this answer helped you save the world (or your code), why not give a vote? 😉
Was this article helpful?