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

get

مقدار یک ویژگی را بر اساس کلید از یک شیء دریافت می‌کند و اگر مقدار ویژگی null یا undefined باشد، مقدار پیش‌فرض را برمی‌گرداند.

get(object, path, defaultValue):T[K] | undefined

نحوه عملکرد

این تابع مقدار ویژگی را با استفاده از object[path] می‌خواند. اگر مقدار به‌دست‌آمده null یا undefined باشد، defaultValue را برمی‌گرداند. سایر مقادیر falsy مانند 0، false و رشته خالی بدون تغییر حفظ می‌شوند.

دسترسی مستقیم به ویژگی

پارامتر path یک کلید از object است (K extends keyof T)، بنابراین این utility فقط به ویژگی مستقیم دسترسی دارد و مسیرهای نقطه‌ای یا اشیای تو در تو را پیمایش نمی‌کند.

پارامترها

objectTالزامی

شیئی که باید مقدار ویژگی از آن خوانده شود.

pathKالزامی

کلید ویژگی موردنظر برای دریافت مقدار.

defaultValueT[K]اختیاری

مقداری که زمانی که مقدار ویژگی null یا undefined باشد برگردانده می‌شود.

مقدار بازگشتی

T[K] | undefined

مقدار ویژگی، یا در صورت null یا undefined بودن مقدار ویژگی، مقدار پیش‌فرض.

مثال‌ها

01

استفاده پایه

TypeScript
const user = {
  name: "Amir",
  age: 22,
};

get(user, "name");
// "Amir"
02

استفاده از مقدار پیش‌فرض

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

get(user, "age", 18);
// 18
03

مقادیر موجود حفظ می‌شوند

TypeScript
const user = {
  name: "Amir",
  age: 22,
};

get(user, "age", 18);
// 22
04

مقادیر null از مقدار پیش‌فرض استفاده می‌کنند

TypeScript
const user = {
  name: null as string | null,
};

get(user, "name", "Unknown");
// "Unknown"
05

مقادیر undefined از مقدار پیش‌فرض استفاده می‌کنند

TypeScript
const user = {
  name: undefined as string | undefined,
};

get(user, "name", "Unknown");
// "Unknown"
06

مقادیر falsy حفظ می‌شوند

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

get(data, "count", 10);
// 0

get(data, "active", true);
// false

get(data, "name", "Unknown");
// ""
07

بدون مقدار پیش‌فرض

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

get(user, "age");
// undefined
08

اشیای تو در تو فقط با کلید مستقیم قابل دسترسی هستند

TypeScript
const user = {
  profile: {
    name: "Amir",
  },
};

get(user, "profile");
// { name: "Amir" }

// This implementation does not support:
// get(user, "profile.name")
ساخته شده با@cyref/js·مستندات رسمی