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

set

یک کپی سطحی از شیء ایجاد می‌کند و مقدار ویژگی مشخص‌شده را با مقدار جدید جایگزین می‌کند.

set(object, key, value):T

نحوه عملکرد

این تابع ابتدا با استفاده از object spread syntax یک کپی سطحی ایجاد می‌کند و سپس مقدار داده‌شده را روی کلید مشخص‌شده در همان کپی قرار می‌دهد.

Type safety

پارامتر key به keyof T محدود شده و value از T[K] استفاده می‌کند. بنابراین TypeScript نوع مقدار را به کلید انتخاب‌شده مرتبط می‌کند.

کپی سطحی

فقط خود شیء در سطح اول کپی می‌شود. اشیای تو در تو و آرایه‌ها reference اصلی خود را حفظ می‌کنند.

شیء اصلی

شیء ورودی مستقیماً تغییر نمی‌کند. عملیات انتساب روی کپی جدید انجام می‌شود.

پارامترها

objectTالزامی

شیئی که باید کپی و به‌روزرسانی شود.

keyKالزامی

کلید ویژگی‌ای که باید به‌روزرسانی شود.

valueT[K]الزامی

مقدار جدید ویژگی مشخص‌شده. نوع آن باید با نوع همان ویژگی سازگار باشد.

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

T

یک کپی سطحی جدید از شیء که ویژگی مشخص‌شده در آن با مقدار داده‌شده تنظیم شده است.

مثال‌ها

01

استفاده پایه

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

const result = set(user, "age", 25);

// {
//   name: "Amir",
//   age: 25,
// }
02

به‌روزرسانی ویژگی رشته‌ای

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

set(user, "name", "Ali");
// {
//   name: "Ali",
//   age: 22,
// }
03

به‌روزرسانی ویژگی boolean

TypeScript
const settings = {
  darkMode: false,
  notifications: true,
};

set(settings, "darkMode", true);
// {
//   darkMode: true,
//   notifications: true,
// }
04

مقادیر type-safe

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

set(user, "age", 25);
// Valid

// set(user, "age", "25");
// TypeScript error
05

شیء اصلی تغییر نمی‌کند

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

const result = set(user, "age", 25);

console.log(user);
// {
//   name: "Amir",
//   age: 22,
// }
06

کپی سطحی

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

const result = set(user, "name", "Ali");

result.profile.age = 25;

console.log(user.profile.age);
// 25
07

تنظیم مقدار روی undefined

TypeScript
const data = {
  value: 10 as number | undefined,
};

set(data, "value", undefined);
// {
//   value: undefined,
// }
08

تنظیم مقدار روی null

TypeScript
const data = {
  value: 10 as number | null,
};

set(data, "value", null);
// {
//   value: null,
// }
ساخته شده با@cyref/js·مستندات رسمی