"[object Object]"
چرا این خروجی رو میبینیم؟ 🤔
وقتی از عملگر "+" بین یک آرایه و یک آبجکت استفاده میکنیم، جاوااسکریپت نمیتواند آنها را مثل عدد با هم جمع کند. بنابراین قبل از انجام عملیات، هر دو را به رشته (String) تبدیل میکند.
- آرایه خالی ("[]") بعد از تبدیل به رشته، به یک رشته خالی ("""") تبدیل میشود.
- آبجکت ("{}") هم به صورت پیشفرض به رشته ""[object Object]"" تبدیل میشود.
حالا جاوااسکریپت این دو رشته را کنار هم قرار میدهد:
"" + "[object Object]"
و در نهایت خروجی میشود:
"[object Object]"
💡 پس در واقع آرایه با آبجکت جمع نشده است؛ جاوااسکریپت ابتدا هر دو را به رشته تبدیل کرده و سپس آنها را به هم چسبانده است. این رفتار به خاطر Type Coercion (تبدیل خودکار نوع داده) در جاوااسکریپت است.
✦ 💻 @programming_codiing