Baseline Widely available
Object.hasOwn()
éçã¡ã½ããã¯ãæå®ããããªãã¸ã§ã¯ãããæå®ãããããããã£ãèªèº«ã®ããããã£ã¨ãã¦æã£ã¦ããå ´åã« true
ãè¿ãã¾ãããã®ããããã£ãç¶æ¿ããã¦ããå ´åãã¾ãã¯åå¨ããªãå ´åããã®ã¡ã½ãã㯠false
ãè¿ãã¾ãã
ã¡ã¢: Object.hasOwn()
éçã¡ã½ãã㯠Object.hasOwnProperty()
ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ããã«ä»£ãããã®ã¨ãã¦æå³ããã¦ãã¾ãã
const object1 = {
prop: "exists",
};
console.log(Object.hasOwn(object1, "prop"));
// Expected output: true
console.log(Object.hasOwn(object1, "toString"));
// Expected output: false
console.log(Object.hasOwn(object1, "undeclaredPropertyValue"));
// Expected output: false
æ§æ 弿°
obj
ãã¹ããã JavaScript ãªãã¸ã§ã¯ãã®ã¤ã³ã¹ã¿ã³ã¹ã
prop
ãã¹ãããããããã£ã®ååã®æååã¾ãã¯ã·ã³ãã«ã
æå®ããããªãã¸ã§ã¯ããæå®ãããããããã£ãç´æ¥å®ç¾©ãã¦ããå ´åãtrue
ãè¿ãã¾ãããã以å¤ã®å ´å㯠false
ãè¿ãã¾ãã
Object.hasOwn()
ã¡ã½ããã¯ãæå®ãããããããã£ããªãã¸ã§ã¯ãã®ç´æ¥ã®ããããã£ã§ããå ´åããã®ããããã£å¤ã null
ã¾ã㯠undefined
ã§ãã£ã¦ããtrue
ãè¿ãã¾ããããããã£ãç¶æ¿ããã¦ããããã¾ãã¯ã¾ã£ãã宣è¨ããã¦ããªãå ´åããã®ã¡ã½ãã㯠false
ãè¿ãã¾ããin
æ¼ç®åã¨ã¯ç°ãªãããã®ã¡ã½ããã¯ããªãã¸ã§ã¯ãã®ãããã¿ã¤ããã§ã¼ã³ã§æå®ãããããããã£ããã§ãã¯ãã¾ããã
Object.prototype.hasOwnProperty()
ãããæ¨å¥¨ãããçç±ã¯ã null
ãããã¿ã¤ããªãã¸ã§ã¯ãããç¶æ¿ãã hasOwnProperty()
ã¡ã½ããããªã¼ãã¼ã©ã¤ããããªãã¸ã§ã¯ãã«å¯¾ãã¦åä½ãããã¨ã§ãããããã®åé¡ã¯ãå¤é¨ãªãã¸ã§ã¯ãã® 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 ã¨ãã¦å®ç¾©ããã¦ãã
ç´æ¥ã®ããããã£ã¨ç¶æ¿ãããããããã£
以ä¸ã®ä¾ã§ã¯ãç´æ¥ã®ããããã£ã¨ãããã¿ã¤ããã§ã¼ã³ãéãã¦ç¶æ¿ãããããããã£ãåºå¥ãã¾ãã
const example = {};
example.prop = "exists";
// `hasOwn` ã¯ç´æ¥ã®ããããã£ã®å ´åã®ã¿ true ãè¿ã
Object.hasOwn(example, "prop"); // returns true
Object.hasOwn(example, "toString"); // returns false
Object.hasOwn(example, "hasOwnProperty"); // returns false
// `in` æ¼ç®åã¯ç´æ¥ã¾ãã¯ç¶æ¿ãããããããã£ã®å ´åã« true ãè¿ã
"prop" in example; // returns true
"toString" in example; // returns true
"hasOwnProperty" in example; // returns 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 - not defined
hasOwnProperty ã®åé¡ã¨ãªãã±ã¼ã¹
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãhasOwn()
ã hasOwnProperty
ã«å½±é¿ããåé¡ããå
ãããã¨ã示ãã¾ããã¾ããhasOwnProperty()
ãåå®è£
ããããªãã¸ã§ã¯ãã§ä½¿ç¨ãããã¨ãã§ãã¾ãã
const foo = {
hasOwnProperty() {
return false;
},
bar: "The dragons be out of office",
};
if (Object.hasOwn(foo, "bar")) {
console.log(foo.bar); // true - hasOwnProperty() ãåå®è£
ããã¦ãã¦ãçµæã«å½±é¿ããªã
}
ã¾ãã null
ãããã¿ã¤ããªãã¸ã§ã¯ãã§ã使ç¨ãããã¨ãã§ãã¾ããããã㯠Object.prototype
ãç¶æ¿ãã¦ããªããããhasOwnProperty()
ã¯ã¢ã¯ã»ã¹ã§ãã¾ããã
const foo = Object.create(null);
foo.prop = "exists";
if (Object.hasOwn(foo, "prop")) {
console.log(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