✅ تفاوت عملیات Synchronous و Asynchronous در جاوااسکریپت:
🔻عملیات همگام (Synchronous) :
در عملیات همگام، کد به ترتیب و خط به خط اجرا میشه. یعنی خط بعدی اجرا نمیشه مگر که خط قبلی اجرا شده باشه. به عبارت دیگه، عملیات بعدی منتظر میمونه تا عملیات قبلی به پایان برسه.
🔻عملیات ناهمگام (Asynchronous) :
در عملیات ناهمگام، کد به ترتیب نوشته شده اجرا نمیشه. برخی عملیات میتونن زمانبر باشن (مثل ریکوئست هایی که میزنیم به سرور)، پس این عملیاتها به صورت ناهمگام اجرا میشن تا برنامه بتونه به اجرای کدهای دیگه ادامه بده بدون اینکه منتظر اتمام عملیات زمانبر بمونه.
#javascript
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
🔻عملیات همگام (Synchronous) :
در عملیات همگام، کد به ترتیب و خط به خط اجرا میشه. یعنی خط بعدی اجرا نمیشه مگر که خط قبلی اجرا شده باشه. به عبارت دیگه، عملیات بعدی منتظر میمونه تا عملیات قبلی به پایان برسه.
🔻عملیات ناهمگام (Asynchronous) :
در عملیات ناهمگام، کد به ترتیب نوشته شده اجرا نمیشه. برخی عملیات میتونن زمانبر باشن (مثل ریکوئست هایی که میزنیم به سرور)، پس این عملیاتها به صورت ناهمگام اجرا میشن تا برنامه بتونه به اجرای کدهای دیگه ادامه بده بدون اینکه منتظر اتمام عملیات زمانبر بمونه.
#javascript
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
🔥7
🌟 نگاهی به تاریخچه جذاب JavaScript
✨ زمانی که اینترنت تازه اختراع شده بود، تنها دو مرورگر در جهان وجود داشت و وبسایتها بسیار ساده، بدون استایل یا انیمیشن بودند. توسعهدهندهها آرزو داشتند که وبسایتهای جذابتری بسازند.
📅 سال 1995
مرورگر برجسته آن زمان، Netscape Navigator، تصمیم گرفت این مشکل را حل کند. برای همین، فردی به نام Brendan Eich را استخدام کرد تا در 10 روز 🤯 یک زبان جدید بسازد.
این زبان ابتدا Mocha نام داشت و هرچند نسخه اولیه بود، اما بسیاری از مفاهیم پایهای JavaScript امروزی را داشت!
📌 سال 1996
اسم این زبان از Mocha به JavaScript تغییر کرد. اما برخلاف تصور، JavaScript نسخه کوچکی از جاوا نیست! این نامگذاری صرفاً یک تصمیم بازاریابی بود تا توجه برنامهنویسان را جلب کند، چون آن زمان جاوا زبان محبوبی بود.
👀 جاوا و جاوااسکریپت چه ارتباطی دارند؟
هیچ! این دو زبان کاملاً متفاوتاند و اشتراکشان فقط در اسم است.
📅 همان سال (1996)
مایکروسافت با مرورگر Internet Explorer وارد رقابت شد و نسخهای از JavaScript را کپی کرد. اما چون نمیتوانست از اسم JavaScript استفاده کند، نام آن را JScript گذاشت.
📅 سال 1997
اولین استاندارد JavaScript با نام ES1 معرفی شد. از آن زمان، این زبان به طور مداوم بهروزرسانی شده است.
🏅 ES6: نقطه عطف JavaScript
در سال 2015، نسخه ES6 منتشر شد که یکی از بزرگترین بهروزرسانیهای JavaScript بود و ویژگیهای مدرن زیادی به این زبان اضافه کرد.
🕒 از آن زمان تاکنون
تصمیم بر این شد که بهجای تغییرات بزرگ هر چند سال یکبار، JavaScript هر سال آپدیت شود تا همیشه بهروز بماند.
#JavaScript
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
✨ زمانی که اینترنت تازه اختراع شده بود، تنها دو مرورگر در جهان وجود داشت و وبسایتها بسیار ساده، بدون استایل یا انیمیشن بودند. توسعهدهندهها آرزو داشتند که وبسایتهای جذابتری بسازند.
📅 سال 1995
مرورگر برجسته آن زمان، Netscape Navigator، تصمیم گرفت این مشکل را حل کند. برای همین، فردی به نام Brendan Eich را استخدام کرد تا در 10 روز 🤯 یک زبان جدید بسازد.
این زبان ابتدا Mocha نام داشت و هرچند نسخه اولیه بود، اما بسیاری از مفاهیم پایهای JavaScript امروزی را داشت!
📌 سال 1996
اسم این زبان از Mocha به JavaScript تغییر کرد. اما برخلاف تصور، JavaScript نسخه کوچکی از جاوا نیست! این نامگذاری صرفاً یک تصمیم بازاریابی بود تا توجه برنامهنویسان را جلب کند، چون آن زمان جاوا زبان محبوبی بود.
👀 جاوا و جاوااسکریپت چه ارتباطی دارند؟
هیچ! این دو زبان کاملاً متفاوتاند و اشتراکشان فقط در اسم است.
📅 همان سال (1996)
مایکروسافت با مرورگر Internet Explorer وارد رقابت شد و نسخهای از JavaScript را کپی کرد. اما چون نمیتوانست از اسم JavaScript استفاده کند، نام آن را JScript گذاشت.
📅 سال 1997
اولین استاندارد JavaScript با نام ES1 معرفی شد. از آن زمان، این زبان به طور مداوم بهروزرسانی شده است.
🏅 ES6: نقطه عطف JavaScript
در سال 2015، نسخه ES6 منتشر شد که یکی از بزرگترین بهروزرسانیهای JavaScript بود و ویژگیهای مدرن زیادی به این زبان اضافه کرد.
🕒 از آن زمان تاکنون
تصمیم بر این شد که بهجای تغییرات بزرگ هر چند سال یکبار، JavaScript هر سال آپدیت شود تا همیشه بهروز بماند.
#JavaScript
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
🔥3
✅ حتما شنیدید که میگن جاوااسکریپت تک رشته ای (Single-threaded) است. یعنی چی؟
🌀 یعنی جاوااسکریپت فقط میتونه یک کار رو در یک زمان انجام بده. مثل این میمونه که یه نفر باشه که فقط یه کار رو میتونه انجام بده و باید کارها رو یکی یکی انجام بده.
📝 اما یه نکته جالب اینه که جاوااسکریپت با استفاده از چیزی به نام Event Loop (حلقه رویداد) میتونه به نظر برسه که همزمان چند کار رو انجام میده.
🧐 مثلاً فرض کن داری یه برنامه مینویسی که همزمان باید یه تایمر رو نشون بده و یه درخواست به سرور بفرسته. جاوااسکریپت این کار رو با استفاده از صف وظایف (Task Queue) و حلقه رویداد مدیریت میکنه.
به زبان ساده، جاوااسکریپت کارها رو توی صف میذاره و یکی یکی انجامشون میده، ولی چون خیلی سریع این کار رو میکنه، به نظر میرسه که همزمان داره چند کار رو انجام میده.
#JavaScript
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
🌀 یعنی جاوااسکریپت فقط میتونه یک کار رو در یک زمان انجام بده. مثل این میمونه که یه نفر باشه که فقط یه کار رو میتونه انجام بده و باید کارها رو یکی یکی انجام بده.
📝 اما یه نکته جالب اینه که جاوااسکریپت با استفاده از چیزی به نام Event Loop (حلقه رویداد) میتونه به نظر برسه که همزمان چند کار رو انجام میده.
🧐 مثلاً فرض کن داری یه برنامه مینویسی که همزمان باید یه تایمر رو نشون بده و یه درخواست به سرور بفرسته. جاوااسکریپت این کار رو با استفاده از صف وظایف (Task Queue) و حلقه رویداد مدیریت میکنه.
به زبان ساده، جاوااسکریپت کارها رو توی صف میذاره و یکی یکی انجامشون میده، ولی چون خیلی سریع این کار رو میکنه، به نظر میرسه که همزمان داره چند کار رو انجام میده.
#JavaScript
دست به مهره پیشرفت... 💻
انجمن علمی علـوم کامـپـیوتر
🆔 @HSU_CS
👍4❤3