همونطور که توی قسمت ششم بررسی کردیم، هر دو مورد برای بررسی کردن وجود یک پراپرتی توی یک آبجکت استفاده میشه. عملگر in علاوه بر اینکه بررسی می‌کنه که آیا پراپرتی یا متد مورد نظر ما توی آبجکت وجود داره، بررسی می‌کنه که آیا پراپرتی مورد نظر ما توی prototype اون آبجکت هم وجود داره یا نه. اما متد hasOwnProperty دیگه دنبال پراپرتی مورد نظر ما توی prototype نمی‌گرده:

const person = {
    name: "Chris Spheeris"
}

console.log("name" in person); // true
console.log("toString" in person); // true

console.log(person.hasOwnProperty("name")); // true
console.log(person.hasOwnProperty("toString")); // false

 

منبع: