Baseline Widely available
ëª
ìë ê°ì²´ì ìì²´ ìì±ì¼ë¡ ì§ì ë ìì±ì´ ìë ê²½ì° Object.hasOwn()
ì ì ë©ìëë true
를 ë°íí©ëë¤. ìì±ì´ ììëìê±°ë ì¡´ì¬íì§ ìì¼ë©´ ì´ ë©ìëë false
를 ë°íí©ëë¤.
ì°¸ê³ : Object.hasOwn()
ì Object.prototype.hasOwnProperty()
를 ëì²´í기 ìí ê²ì
ëë¤.
const object1 = {
prop: "exists",
};
console.log(Object.hasOwn(object1, "prop"));
// ìì ì¶ë ¥ ê°: true
console.log(Object.hasOwn(object1, "toString"));
// ìì ì¶ë ¥ ê°: false
console.log(Object.hasOwn(object1, "undeclaredPropertyValue"));
// ìì ì¶ë ¥ ê°: false
구문 매ê°ë³ì
ë°í ê°
ì§ì ë ê°ì²´ê° ì§ì ëª
ìë ìì±ì ì ìíë¤ë©´ true
. ê·¸ë ì§ ìì¼ë©´ false
ëª
ìë ìì±ì´ ê°ì´ null
í¹ì undefined
ì¼ ê²½ì°ì¼ì§ë¼ë ê°ì²´ì ì§ì ì ì¸ ìì±ì¸ ê²½ì° Object.hasOwn()
ë©ìëë true
를 ë°íí©ëë¤. ìì±ì´ ììëìê±°ë ì í ì ì¸ëì§ ìì ê²½ì° ì´ ë©ìëë false
를 ë°íí©ëë¤. in
ì°ì°ììë ë¬ë¦¬, ì´ ë©ìëë ê°ì²´ì íë¡í íì
ì²´ì¸ìì ì§ì ë ìì±ì íì¸íì§ ììµëë¤.
ì´ ë©ìëë null
íë¡í íì
ê°ì²´ ë° ììë hasOwnProperty()
ë©ìë를 ì¬ì ìí ê°ì²´ì ëí´ ìëíë¯ë¡ Object.prototype.hasOwnProperty()
ë³´ë¤ ê¶ì¥ë©ëë¤. Object.prototype.hasOwnProperty.call(obj, prop)
ì ê°ì ì¸ë¶ ê°ì²´ìì Object.prototype.hasOwnProperty()
를 í¸ì¶íì¬ ì´ë¬í 문ì 를 í´ê²°í ì ìì§ë§, Object.hasOwn()
ì ì¬ì©íë ê²ì´ ë ì§ê´ì ì
ëë¤.
ë¤ì ì½ëë example
ê°ì²´ì prop
ì´ë¼ë ìì±ì í¬í¨ ì¬ë¶ë¥¼ íì¸íë ë°©ë²ì ë³´ì¬ì¤ëë¤.
const example = {};
Object.hasOwn(example, "prop"); // false - 'prop'ì´ ì ìëì§ ìììµëë¤
example.prop = "exists";
Object.hasOwn(example, "prop"); // true - 'prop' ì´ ì ìëììµëë¤
example.prop = null;
Object.hasOwn(example, "prop"); // true - ìì²´ ìì±ì´ null ê°ì¼ë¡ ì¡´ì¬í©ëë¤
example.prop = undefined;
Object.hasOwn(example, "prop"); // true - ìì²´ ìì±ì´ undefined ê°ì¼ë¡ ì¡´ì¬í©ëë¤
ì§ì vs ììë ìì±
ë¤ì ìì ììë ì§ì ì ì¸ ìì±ê³¼ íë¡í íì ì²´ì¸ì íµí´ ììë ìì±ì 구ë¶í©ëë¤.
const example = {};
example.prop = "exists";
// `hasOwn` ì ì¤ì§ ì§ì ì ì¸ ìì±ë§ true를 ë°íí©ëë¤.
Object.hasOwn(example, "prop"); // true
Object.hasOwn(example, "toString"); // false
Object.hasOwn(example, "hasOwnProperty"); // false
// `in` ì°ì°ìë ì§ì ì ì¸ ìì± í¹ì ììë ìì±ì´ ìì ê²½ì° true를 ë°íí©ëë¤.
"prop" in example; // true
"toString" in example; // true
"hasOwnProperty" in example; // true
ê°ì²´ì ìì±ì ìíí기
ê°ì²´ì ì´ê±° ê°ë¥í ìì±ì ìíí기 ìí´ìë ë°ëì ìëì ê°ì´ ì¬ì©í´ì¼ í©ëë¤.
const example = { foo: true, bar: true };
for (const name of Object.keys(example)) {
// â¦
}
ê·¸ë¬ë for...in
ì ì¬ì©í´ì¼ íë ê²½ì° Object.hasOwn()
ì ì¬ì©íì¬ ììë ìì±ì ê±´ëë¸ ì ììµëë¤.
const example = { foo: true, bar: true };
for (const name in example) {
if (Object.hasOwn(example, name)) {
// â¦
}
}
ë°°ì´ ì¸ë±ì¤ì ì¡´ì¬ì¬ë¶ íì¸í기
Array
ì ììë ì§ì ì ì¸ ìì±ì¼ë¡ ì ìë기 ë문ì hasOwn()
ë©ìë를 ì¬ì©íì¬ í¹ì ì¸ë±ì¤ì ì¡´ì¬ ì¬ë¶ë¥¼ íì¸í ì ììµëë¤.
const fruits = ["Apple", "Banana", "Watermelon", "Orange"];
Object.hasOwn(fruits, 3); // true ('Orange')
Object.hasOwn(fruits, 4); // false - ì ìëì§ ìììµëë¤
hasOwnPropertyì 문ì ì¬ë¡
ì´ ì¹ì
ììë hasOwn()
ì´ hasOwnProperty
ì ìí¥ì 미ì¹ë 문ì ì ìí¥ì ë°ì§ ìëë¤ë ê²ì ë³´ì¬ì¤ëë¤. 첫 ë²ì§¸ë¡, hasOwnProperty()
를 ì¬êµ¬íí ê°ì²´ì í¨ê» ì¬ì©í ì ììµëë¤. ìë ìì ìì ì¬êµ¬íë hasOwnProperty()
ë©ìëë 모ë ìì±ì ëí´ ê±°ì§ì ë°ííì§ë§ Object.hasOwn()
ëìì ë³í¨ìì´ ì ì§ë©ëë¤.
const foo = {
hasOwnProperty() {
return false;
},
bar: "The dragons be out of office",
};
console.log(foo.hasOwnProperty("bar")); // false
console.log(Object.hasOwn(foo, "bar")); // true
ëí null
-íë¡í íì
ê°ì²´ì í¨ê» ì¬ì©í ìë ììµëë¤. ì´ë Object.prototype
ìì ììëì§ ìì¼ë¯ë¡ hasOwnProperty()
ì ì ê·¼í ì ììµëë¤.
const foo = Object.create(null);
foo.prop = "exists";
console.log(foo.hasOwnProperty("prop"));
// Uncaught TypeError: foo.hasOwnProperty is not a function
console.log(Object.hasOwn(foo, "prop")); // true
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4