Web appOpen in Telegram

Postچرا کپی کردن یک Object در JavaScript همیشه کپی واقعی نیست؟ 🤔

6 September 2026
C
CodeVerse | دنیای برنامه نویسان
چرا کپی کردن یک Object در JavaScript همیشه کپی واقعی نیست؟ 🤔 این کد رو ببین: const user = { name: "Ahmad", settings: { theme: "dark" } }; const copy = { ...user }; copy.name = "Ali"; copy.settings.theme = "light"; console.log(user.name); // Ahmad console.log(user.settings.theme); // light 😐 چی شد؟! ما که user رو کپی کرده بودیم! مشکل اینجاست که Spread Operator فقط یک Shallow Copy می‌سازه. یعنی لایه اول Object کپی میشه، ولی Objectهای تو‌در‌تو همچنان به همان Reference قبلی اشاره می‌کنن. پس: copy.settings === user.settings // true اما برای کپی عمیق می‌تونی از ()structuredClone استفاده کنی: const copy = structuredClone(user); copy.settings.theme = "light"; console.log(user.settings.theme); // dark حالا: copy.settings === user.settings // false 🔥 این تفاوت توی پروژه‌هایی که با State، API Response یا Objectهای تو‌در‌تو کار می‌کنی خیلی مهمه. نکته حرفه‌ای: تابع JSON.parse(JSON.stringify(obj)) هم یک روش قدیمی برای Deep Copy محسوب میشه، اما محدودیت‌های مهمی داره و برای همه داده‌ها مناسب نیست. اگر با JavaScript حرفه‌ای کار می‌کنی، ()structuredClone رو بشناس. @CodeVerse_dev
6 · 360 ·

Nearby in the feed

CCodeVerse | دنیای برنامه نویسان🚨 اگه روی سایتت All-in-One WP Migration داری، همین امروز نسخه‌ش رو چک کن! یه آسیب‌پذیری جدی با شناسه CVE-2026-19949 در افزونه All-in-One WP Migration and BackupCCodeVerse | دنیای برنامه نویسان🔥 یه ترفند PHP که کد پروژه‌ات رو خیلی تمیزتر می‌کنه فرض کن یه تابع داری که فقط باید با یک نوع خاص از داده کار کنه. روش قدیمی اینه که داخل تابع مدام چک کنی: if (
this message
CCodeVerse | دنیای برنامه نویسانچرا null و undefined یکی نیستن؟ 🤔 خیلی‌ها فکر می‌کنن هر دو یعنی «هیچی»، ولی در JavaScript تفاوت مهمی دارن. حالا undefined معمولاً یعنی یک مقدار هنوز تعیین نشده:CCodeVerse | دنیای برنامه نویسان🧩 چرا بعضی تغییرات وردپرس فقط وقتی لاگین هستی دیده میشن؟ این یکی از باگ‌های عجیبیه که تو پروژه‌های وردپرسی زیاد دیده میشه. مدیر سایت وارد WordPressـه و همه‌چیز
CCodeVerse | دنیای برنامه نویسانCodeVerse | دنیای برنامه نویسان@codeverse_dev · channel · Tech
1 060subscribers300average post reach
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · What we do not do · Remove a page · Catalog · Search · How we count