از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
ادغام ویژگی های دو شی به صورت پویا در جاوا اسکریپت در جاوا اسکریپت، یک شی به عنوان مجموعه ای از جفت های کلید-مقدار تعریف می شود. یک شی نیز یک نوع داده غیر ابتدایی است. شما اغلب نیاز دارید که اشیاء را در یک واحد ترکیب کنید که حاوی تمام خصوصیات فردی اجزای سازنده آن باشد. این عملیات ادغام نامیده می شود. دو روش رایج …
سرفصلهای مطلب
معرفی
در جاوا اسکریپت، یک شی به عنوان مجموعه ای از تعریف می شود ارزش کلیدی جفت یک شی نیز یک نوع داده غیر ابتدایی است.
شما اغلب نیاز دارید که اشیاء را در یک واحد ترکیب کنید که حاوی تمام خصوصیات فردی اجزای سازنده آن باشد. این عملیات نامیده می شود ادغام. دو روش رایج برای انجام این کار عبارتند از:
- با استفاده از عملگر spread (
...
) - با استفاده از
Object.assign()
روش
در این آموزش نگاهی به این خواهیم داشت روش ادغام دو شی به صورت پویا در جاوا اسکریپت.
پس از آن، تفاوت بین را پوشش خواهیم داد ادغام کم عمق و ادغام عمیق، زیرا برای درک کامل ادغام اشیا ضروری است.
ادغام اشیاء جاوا اسکریپت با استفاده از عملگر Spread
ما می توانیم اشیاء مختلف را با استفاده از عملگر spread (...
). این نیز رایج ترین روش ادغام دو یا چند شی است.
این یک تغییرناپذیر رویکرد به ادغام دو شی، یعنی دو شیء شروع که برای ساختن شیء ادغام شده استفاده می شود، به دلیل عوارض جانبی به هیچ وجه تغییر نمی کند. در پایان، شما یک شی جدید دارید که از این دو ساخته شده است، در حالی که آنها هنوز دست نخورده هستند.
بیایید دو شی بسازیم و آنها را ادغام کنیم:
const person = {
name: "John Doe",
age: 24
}
const job = {
title: "Full stack developer",
location: "Remote"
}
const employee = {...person, ...job};
console.log(employee);
این منجر به:
{
name: "John Doe",
age: 24,
title: "Full stack developer",
location: "Remote"
}
توجه داشته باشید: اگر خصوصیات مشترکی بین این دو شیء وجود داشته باشد، مثلاً هر دو دارای a باشند location
، خواص از شی دوم (job
) ویژگی های اولین شی را بازنویسی می کند (person
):
const person = {
name: "John Doe",
location: "Remote"
}
const job = {
title: "Full stack developer",
location: "Office"
}
const employee = {...person, ...job}
console.log(employee);
این منجر به:
{
name: 'John Doe',
location: 'Office',
title: 'Full stack developer'
}
اگر بیش از دو شی در حال ادغام باشند، سمت راستترین شیء سمت چپ را لغو می کند.
ادغام اشیاء جاوا اسکریپت با استفاده از Object.assign()
یکی دیگر از راه های رایج برای ادغام دو یا چند شی، استفاده از داخلی است Object.assign()
روش:
Object.assign(target, source1, source2, ...);
این روش تمام ویژگی ها را از یک یا چند مورد کپی می کند منبع اشیاء به هدف هدف – شی. درست مانند عملگر spread، در حین بازنویسی، بیشترین مقدار سمت راست استفاده می شود:
const person = {
name: "John Doe",
age: 24,
location: "U.S.A"
}
const job = {
title: "Full stack developer",
location: "Remote"
}
const employee = Object.assign(person, job);
console.log(employee);
با اجرای کد بالا خروجی زیر حاصل می شود:
{
name: "John Doe",
age: 24,
location: "Remote",
title: "Full stack developer"
}
باز هم به خاطر داشته باشید که شی مورد اشاره توسط employee
یک شی کاملا جدید است و به هیچ وجه به اشیاء ارجاع شده توسط person
یا job
.
ادغام کم عمق در مقابل ادغام عمیق
در مورد الف ادغام کم عمق، اگر یکی از خواص روی یک شی مبدا یک شی دیگر است، شی هدف شامل ارجاع به همان شی است که در شی مبدأ وجود دارد. یک شی جدید در این مورد ایجاد نمی شود.
بیایید قبلی را اصلاح کنیم person
شیء، و ساخت location
یک شی برای خودش:
const person = {
name: "John Doe",
location: {
city: "London",
country: "England"
}
}
const job = {
title: "Full stack developer"
}
const employee = {...person, ...job};
console.log(employee.location === person.location);
این منجر به:
true
می بینیم که ارجاع به location
در هر دو مورد person
و employee
شی همان است در واقع، هر دو عملگر گسترش (...
) و Object.assign()
یک ادغام کم عمق را انجام دهید
جاوا اسکریپت ندارد ادغام عمیق پشتیبانی خارج از جعبه با این حال، ماژول ها و کتابخانه های شخص ثالثی مانند Lodash’s از آن پشتیبانی می کنند _.ادغام.
نتیجه
در این آموزش نگاهی به آن انداخته ایم روش ادغام دو شی در جاوا اسکریپت. ما عملگر گسترش (...
) و Object.assign()
روش، که هر دو انجام a ادغام کم عمق از دو یا چند شی، به یک شی جدید، بدون تأثیر بر اجزای تشکیل دهنده.
معرفی
در جاوا اسکریپت، یک شی به عنوان مجموعه ای از تعریف می شود ارزش کلیدی جفت یک شی نیز یک نوع داده غیر ابتدایی است.
شما اغلب نیاز دارید که اشیاء را در یک واحد ترکیب کنید که حاوی تمام خصوصیات فردی اجزای سازنده آن باشد. این عملیات نامیده می شود ادغام. دو روش رایج برای انجام این کار عبارتند از:
- با استفاده از عملگر spread (
...
) - با استفاده از
Object.assign()
روش
در این آموزش نگاهی به این خواهیم داشت روش ادغام دو شی به صورت پویا در جاوا اسکریپت.
پس از آن، تفاوت بین را پوشش خواهیم داد ادغام کم عمق و ادغام عمیق، زیرا برای درک کامل ادغام اشیا ضروری است.
ادغام اشیاء جاوا اسکریپت با استفاده از عملگر Spread
ما می توانیم اشیاء مختلف را با استفاده از عملگر spread (...
). این نیز رایج ترین روش ادغام دو یا چند شی است.
این یک تغییرناپذیر رویکرد به ادغام دو شی، یعنی دو شیء شروع که برای ساختن شیء ادغام شده استفاده می شود، به دلیل عوارض جانبی به هیچ وجه تغییر نمی کند. در پایان، شما یک شی جدید دارید که از این دو ساخته شده است، در حالی که آنها هنوز دست نخورده هستند.
بیایید دو شی بسازیم و آنها را ادغام کنیم:
const person = {
name: "John Doe",
age: 24
}
const job = {
title: "Full stack developer",
location: "Remote"
}
const employee = {...person, ...job};
console.log(employee);
این منجر به:
{
name: "John Doe",
age: 24,
title: "Full stack developer",
location: "Remote"
}
توجه داشته باشید: اگر خصوصیات مشترکی بین این دو شیء وجود داشته باشد، مثلاً هر دو دارای a باشند location
، خواص از شی دوم (job
) ویژگی های اولین شی را بازنویسی می کند (person
):
const person = {
name: "John Doe",
location: "Remote"
}
const job = {
title: "Full stack developer",
location: "Office"
}
const employee = {...person, ...job}
console.log(employee);
این منجر به:
{
name: 'John Doe',
location: 'Office',
title: 'Full stack developer'
}
اگر بیش از دو شی در حال ادغام باشند، سمت راستترین شیء سمت چپ را لغو می کند.
ادغام اشیاء جاوا اسکریپت با استفاده از Object.assign()
یکی دیگر از راه های رایج برای ادغام دو یا چند شی، استفاده از داخلی است Object.assign()
روش:
Object.assign(target, source1, source2, ...);
این روش تمام ویژگی ها را از یک یا چند مورد کپی می کند منبع اشیاء به هدف هدف – شی. درست مانند عملگر spread، در حین بازنویسی، بیشترین مقدار سمت راست استفاده می شود:
const person = {
name: "John Doe",
age: 24,
location: "U.S.A"
}
const job = {
title: "Full stack developer",
location: "Remote"
}
const employee = Object.assign(person, job);
console.log(employee);
با اجرای کد بالا خروجی زیر حاصل می شود:
{
name: "John Doe",
age: 24,
location: "Remote",
title: "Full stack developer"
}
باز هم به خاطر داشته باشید که شی مورد اشاره توسط employee
یک شی کاملا جدید است و به هیچ وجه به اشیاء ارجاع شده توسط person
یا job
.
ادغام کم عمق در مقابل ادغام عمیق
در مورد الف ادغام کم عمق، اگر یکی از خواص روی یک شی مبدا یک شی دیگر است، شی هدف شامل ارجاع به همان شی است که در شی مبدأ وجود دارد. یک شی جدید در این مورد ایجاد نمی شود.
بیایید قبلی را تغییر دهیم person
شیء، و ساخت location
یک شی برای خودش:
const person = {
name: "John Doe",
location: {
city: "London",
country: "England"
}
}
const job = {
title: "Full stack developer"
}
const employee = {...person, ...job};
console.log(employee.location === person.location);
این منجر به:
true
می بینیم که ارجاع به location
در هر دو مورد person
و employee
شی همان است در واقع، هر دو عملگر گسترش (...
) و Object.assign()
یک ادغام کم عمق را انجام دهید
جاوا اسکریپت ندارد ادغام عمیق پشتیبانی خارج از جعبه با این حال، ماژول ها و کتابخانه های شخص ثالثی مانند Lodash’s از آن پشتیبانی می کنند _.ادغام.
نتیجه
در این آموزش نگاهی به آن انداخته ایم روش ادغام دو شی در جاوا اسکریپت. ما عملگر گسترش (...
) و Object.assign()
روش، که هر دو انجام a ادغام کم عمق از دو یا چند شی، به یک شی جدید، بدون تأثیر بر اجزای تشکیل دهنده.
(برچسبها برای ترجمه)# جاوا اسکریپت
منتشر شده در 1403-01-17 04:42:04