TGViewer
</ MoDev > </ MoDev > @programming_codiing · 480 subscribers
Post #240 232
</ MoDev > console.log([] + {}); // ?
✅ پاسخ صحیح:
"[object Object]"

چرا این خروجی رو می‌بینیم؟ 🤔

وقتی از عملگر "+" بین یک آرایه و یک آبجکت استفاده می‌کنیم، جاوااسکریپت نمی‌تواند آن‌ها را مثل عدد با هم جمع کند. بنابراین قبل از انجام عملیات، هر دو را به رشته (String) تبدیل می‌کند.

- آرایه خالی ("[]") بعد از تبدیل به رشته، به یک رشته خالی ("""") تبدیل می‌شود.

- آبجکت ("{}") هم به صورت پیش‌فرض به رشته ""[object Object]"" تبدیل می‌شود.


حالا جاوااسکریپت این دو رشته را کنار هم قرار می‌دهد:

"" + "[object Object]"


و در نهایت خروجی می‌شود:

"[object Object]"


💡 پس در واقع آرایه با آبجکت جمع نشده است؛ جاوااسکریپت ابتدا هر دو را به رشته تبدیل کرده و سپس آن‌ها را به هم چسبانده است. این رفتار به خاطر Type Coercion (تبدیل خودکار نوع داده) در جاوااسکریپت است.

✦ 💻 @programming_codiing
  • 👌 4
More from @programming_codiing
  1. Oct 15, 2026دوست دارم بزنم رو 4x ببینم آخرش قراره چی بشه. @programming_codiing
  2. Oct 14, 2026بعضی موقع یه چیزی که اسمش رو کمال‌گرایی می‌ذاریم، در واقع ترس از قضاوت شدنه. پروژه رو تموم…
  3. Oct 13, 2026هر چیزی که منتشر می‌کنید، لزوماً محتوای خوبی نیست. فرض کنید دو نفر درباره‌ی جاوااسکریپت مح…
  4. Oct 12, 2026«هر احمقی می‌تواند کدی بنویسد که کامپیوتر بفهمد؛ برنامه‌نویس خوب کدی می‌نویسد که انسان‌ها…
  5. Oct 11, 2026پیشرفت، همیشه قابل دیدن نیست.. @programming_codiing
  6. Oct 10, 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 →