Object.keys()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2015ë 7ìâ©.
Object.keys() ì ì ë©ìëë 주ì´ì§ ê°ì²´ ìì²´ì ì´ê±° ê°ë¥í 문ìì´ í¤ë¥¼ ê°ì§ ìì±ë¤ì ì´ë¦ì ë°°ì´ë¡ ë°íí©ëë¤.
ìëí´ ë³´ê¸°
const object1 = {
a: "somestring",
b: 42,
c: false,
};
console.log(Object.keys(object1));
// Expected output: Array ["a", "b", "c"]
구문
Object.keys(obj)
매ê°ë³ì
obj-
ê°ì²´.
ë°í ê°
주ì´ì§ ê°ì²´ ìì²´ì ì´ê±° ê°ë¥í 문ìì´ë¡ ë ìì± í¤ë¤ì ëíë´ë 문ìì´ ë°°ì´.
ì¤ëª
Object.keys()ë object ìì ì§ì ì°¾ì ì´ê±° ê°ë¥í 문ìì´ í¤ ìì± ì´ë¦ì í´ë¹íë 문ìì´ì ììë¡ íë
ë°°ì´ì ë°íí©ëë¤. ì´ë for...in 루íê° íë¡í íì
ì²´ì¸ì ìì±ë ì´ê±°íë¤ë ì ì ì ì¸íë©´
for...in 루í를 ì¬ì©íì¬ ë°ë³µíë ê²ê³¼ ëì¼í©ëë¤.
Object.keys()ê° ë°ííë ë°°ì´ì ììë for...in
루íìì ì ê³µíë ê²ê³¼ ëì¼í©ëë¤.
ìì± ê°ì´ íìí ê²½ì° Object.values()를 ëì ì¬ì©íì기 ë°ëëë¤.
ìì± í¤ì ê°ì´ 모ë íìí ê²½ì° Object.entries()를 ëì ì¬ì©íì기 ë°ëëë¤.
ìì
>Object.keys() ì¬ì©í기
// ë¨ì ë°°ì´
const arr = ["a", "b", "c"];
console.log(Object.keys(arr)); // ['0', '1', '2']
// ì ì¬ ë°°ì´ ê°ì²´
const obj = { 0: "a", 1: "b", 2: "c" };
console.log(Object.keys(obj)); // ['0', '1', '2']
// í¤ì ììê° ë¬´ììì¸ ì ì¬ ë°°ì´ ê°ì²´
const anObj = { 100: "a", 2: "b", 7: "c" };
console.log(Object.keys(anObj)); // ['2', '7', '100']
// getFoo ë ì´ê±°í ì ìë ìì±ì
ëë¤.
const myObj = Object.create(
{},
{
getFoo: {
value() {
return this.foo;
},
},
},
);
myObj.foo = 1;
console.log(Object.keys(myObj)); // ['foo']
ë§ì½ ì´ê±°í ì ìë ìì±ë í¬í¨í 문ìì´ì´ í¤ì¸ ê°ì²´ ìì²´ ìì±ì ìíë¤ë©´,
Object.getOwnPropertyNames()ì ì°¸ê³ íì기 ë°ëëë¤.
ììíìì Object.keys() ì¬ì©í기
ê°ì²´ê° ìë ì¸ìë ê°ì ë¡ ê°ì²´ë¡ ë³íë©ëë¤.
undefinedì nullì ê°ì²´ë¡ ê°ì ë³íë ì ìì¼ë©° ì¦ì TypeError를 ë°ììíµëë¤.
문ìì´ë§ ìì²´ ì´ê±° ê°ë¥í ìì±ì ê°ì§ ì ìì¼ë©°, ë¤ë¥¸ 모ë ììíì ë¹ ë°°ì´ì ë°íí©ëë¤.
// 문ìì´ì ì´ê±°ê°ë¥í ìì²´ ìì±ì²ë¼ ì¸ë±ì¤ë¥¼ ê°ì§ê³ ììµëë¤.
console.log(Object.keys("foo")); // ['0', '1', '2']
// undefinedì nullì ì ì¸í ë¤ë¥¸ ììíì ìì²´ ìì±ì´ ììµëë¤.
console.log(Object.keys(100)); // []
ì°¸ê³ :
ES5ììë ë¹ê°ì²´ë¥¼ Object.keys()ì ì ë¬íë©´ TypeErrorê° ë°ìí©ëë¤.
ëª ì¸ì
| Specification |
|---|
| ECMAScript® 2026 Language Specification > # sec-object.keys > |
ë¸ë¼ì°ì í¸íì±
ê°ì´ 보기
Object.keysì í´ë¦¬í ì½ëë ìëìì íì¸í ì ììµëë¤.core-js- Enumerability and ownership of properties
Object.entries()Object.values()Object.prototype.propertyIsEnumerable()Object.create()Object.getOwnPropertyNames()Map.prototype.keys()