من علی برنامه نویس در حوضه وب هستم :)
منطق عجیبه جاوااسکیریپت

- سلام میشه اینو بهم بگی چرا اینطوری میشه ؟
+ دقیق نمیدونم ولی احتمالا اینجوری باشه
قدم به قدم جلو میریم
([] + ![])
خب ببین آرایه های خالی falsey value هستند که جمع نمیشن و تنها شرطی عمل میکنند و با هرچی جمع بشن مقداری بهش اضافه نمیکنن حتی اگر مقدارشون معکوس بشه به truthy
پس فهمیدی که ارایه خالی یک مقدار فالس هست ، حالا میگه که
false + true نمیدونم چرا ولی این رو شرط محسوب میکنه و میگه که آیا فالس و ترو باهم جمع میشوند ؟ پاسخ خیر یعنی
false بعد این داده false رو داخل خودش نگر میداره چون بین پارانتر هست
حالا میاد با استفاده فیچر ایندکس جاوا اسکریپت میگه که ایندکس
[![] + 1]رو بهم بده ، بالاتر گفتم که توی جمع حتی اگه برعکس هم بشن بازم حساب نمیشن پس پاسخ میشه 1 ، ایندکس یک رو وقتی میخواد بگیره یه باگ داره جاوا اسکریپت و false رو به شکل استرینگ و تیکه تیکه در ارایه ذخیره میکنه احتمالا چون محاسبه شرطی ارایه بوده همچین باگی رو داده
بعد میاد ایندکس 1 رو پیدا میکنه که طبق حرف ما
["f","a","l","s","e"]میشه
aبعد چون استرینگ هست یه متد داره به نام repeat که استرینگ رو هر تعداد که بگی تکرار میکنه ، اینجا ۱۰۰ بار a رو تکرار میکنه و در نهایت میاد میگه که uppercase بکنش که میشه
صد تا A
مکالمه دو برنامه نویس گفتم بزارمش شاید بدرد بخوره !
مطلبی دیگر از این انتشارات
گزارش Mandiant از افزایش استفاده از زیرودی ها در سال 2021
مطلبی دیگر از این انتشارات
افزونه کوتاه کننده لینک کروم
مطلبی دیگر از این انتشارات
فعال کردن نمایش ارور در هاست php :)