TGViewer
</ MoDev > </ MoDev > @programming_codiing · 479 subscribers
Post #323 375
</ MoDev > چالش جاوااسکریپتی ❕ جواب درست رو زیر انتخاب کن.
🧠 چرا جواب این کوییز ۴ شد؟

یکی از مفاهیم مهم جاوااسکریپت، Reference Type است. 🚀

❓ کد:

let a = [1, 2, 3];

let b = a;

b.push(4);

console.log(a.length);

✅ جواب: 4

### چرا؟

خیلی‌ها فکر می‌کنند:

let b = a;

یک کپی از آرایه می‌سازد؛ اما اینطور نیست. ❌

در جاوااسکریپت، Array و Object از نوع Reference Type هستند؛ یعنی فقط آدرس (Reference) آن‌ها کپی می‌شود، نه خود داده.

بنابراین a و b هر دو به یک آرایه اشاره می‌کنند. پس وقتی می‌نویسیم:

b.push(4);

در واقع همان آرایه اصلی تغییر می‌کند و خروجی:

console.log(a.length); // 4

خواهد بود.

### اگر کپی واقعی بخواهیم:

let b = [...a];
// یا
let b = a.slice();

در این حالت تغییرات b روی a تأثیری ندارد.

📌 خلاصه:

✅ string، number و boolean با مقدار کپی می‌شوند.

⚠️ Array و Object با Reference (آدرس حافظه) کپی می‌شوند.

پس:

let b = a;

یعنی هر دو متغیر به یک داده اشاره می‌کنند، نه اینکه یک کپی جدید ساخته شود.

ممنون که وقت گذاشتی و خوندی ش ❤️

✦ @programming_codiing
  • ❤ 10
  • 👌 2
More from @programming_codiing
  1. Oct 14, 2026بعضی موقع یه چیزی که اسمش رو کمال‌گرایی می‌ذاریم، در واقع ترس از قضاوت شدنه. پروژه رو تموم…
  2. Oct 13, 2026هر چیزی که منتشر می‌کنید، لزوماً محتوای خوبی نیست. فرض کنید دو نفر درباره‌ی جاوااسکریپت مح…
  3. Oct 12, 2026«هر احمقی می‌تواند کدی بنویسد که کامپیوتر بفهمد؛ برنامه‌نویس خوب کدی می‌نویسد که انسان‌ها…
  4. Oct 11, 2026پیشرفت، همیشه قابل دیدن نیست.. @programming_codiing
  5. Oct 10, 2026اینجور سایت های باحال : فقط ویدیو و عکس هست ولی با منطق درست برای نمایش، چیز سختی هم نیست.…
  6. Oct 8, 2026بعد جاوااسکریپت حتما تایپ‌اسکریپت رو قدم بعدی تون قرار بدید. چیز سختی نیست و زمان زیادی هم…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →