CyrefJS
CCyrefJS
EN
بازگشت به مستندات
آبجکت/از نسخه 1.38.0

has

بررسی می‌کند که آیا یک شیء دارای ویژگی مستقیم با کلید مشخص‌شده است یا خیر.

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");
// false
02

فقط ویژگی‌های مستقیم

TypeScript
const parent = {
  name: "Amir",
};

const user = Object.create(parent);

has(user, "name");
// false
03

ویژگی‌های ارث‌بری‌شده

TypeScript
const parent = {
  role: "admin",
};

const user = Object.create(parent);

has(user, "role");
// false
04

مقادیر undefined

TypeScript
const data = {
  value: undefined,
};

has(data, "value");
// true
05

مقادیر null

TypeScript
const data = {
  value: null,
};

has(data, "value");
// true
06

کلیدهای Symbol

TypeScript
const id = Symbol("id");

const user = {
  [id]: 123,
};

has(user, id);
// true
07

کلیدهای عددی

TypeScript
const data = {
  1: "one",
};

has(data, 1);
// true
08

مقادیر falsy

TypeScript
const data = {
  count: 0,
  active: false,
  name: "",
};

has(data, "count");
// true

has(data, "active");
// true

has(data, "name");
// true
ساخته شده با@cyref/js·مستندات رسمی