آبجکت/از نسخه
1.38.0has
بررسی میکند که آیا یک شیء دارای ویژگی مستقیم با کلید مشخصشده است یا خیر.
has(object, key):booleanویژگیهای مستقیم
این تابع فقط بررسی میکند که کلید مستقیماً متعلق به خود شیء باشد. ویژگیهایی که از زنجیره prototype به ارث رسیدهاند در نظر گرفته نمیشوند.
PropertyKey
پارامتر key از نوع PropertyKey است، بنابراین میتوان کلیدهای رشتهای، عددی و Symbol را بررسی کرد.
ویژگیهای undefined
ویژگیای که مقدار آن undefined باشد همچنان یک ویژگی موجود محسوب میشود. این تابع وجود کلید را بررسی میکند، نه تعریفشده بودن مقدار آن را.
پارامترها
objectTالزامیشیئی که باید بررسی شود.
keyPropertyKeyالزامیکلید ویژگی مورد بررسی. میتواند رشته، عدد یا Symbol باشد.
مقدار بازگشتی
booleanاگر شیء کلید مشخصشده را بهعنوان یک ویژگی مستقیم داشته باشد true و در غیر این صورت false.
مثالها
01
استفاده پایه
TypeScript
const user = {
name: "Amir",
age: 22,
};
has(user, "name");
// true
has(user, "email");
// false02
فقط ویژگیهای مستقیم
TypeScript
const parent = {
name: "Amir",
};
const user = Object.create(parent);
has(user, "name");
// false03
ویژگیهای ارثبریشده
TypeScript
const parent = {
role: "admin",
};
const user = Object.create(parent);
has(user, "role");
// false04
مقادیر undefined
TypeScript
const data = {
value: undefined,
};
has(data, "value");
// true05
مقادیر null
TypeScript
const data = {
value: null,
};
has(data, "value");
// true06
کلیدهای Symbol
TypeScript
const id = Symbol("id");
const user = {
[id]: 123,
};
has(user, id);
// true07
کلیدهای عددی
TypeScript
const data = {
1: "one",
};
has(data, 1);
// true08
مقادیر falsy
TypeScript
const data = {
count: 0,
active: false,
name: "",
};
has(data, "count");
// true
has(data, "active");
// true
has(data, "name");
// trueساخته شده با@cyref/js·مستندات رسمی