بهترین الگوریتم مرتب سازی جاوا اسکریپت برای پروژه ها
🔺 مرتبسازی دادهها کاربردهای عملی زیادی در برنامههای کاربردی مدرن دارد، مانند سازماندهی فهرستی از نامها، جستجوی یک آیتم خاص در پایگاه داده (دیتابیس) یا بهینهسازی عملکرد برنامههای کاربردی وب.الگوریتم های مرتب سازی محبوب زیادی وجود دارد که هر کدام...
🌐 : بهترین الگوریتم مرتب سازی جاوا اسکریپت برای پروژه ها
#javascript #js #جاوااسکریپت #جاوا_اسکریپت
🔺 مرتبسازی دادهها کاربردهای عملی زیادی در برنامههای کاربردی مدرن دارد، مانند سازماندهی فهرستی از نامها، جستجوی یک آیتم خاص در پایگاه داده (دیتابیس) یا بهینهسازی عملکرد برنامههای کاربردی وب.الگوریتم های مرتب سازی محبوب زیادی وجود دارد که هر کدام...
🌐 : بهترین الگوریتم مرتب سازی جاوا اسکریپت برای پروژه ها
#javascript #js #جاوااسکریپت #جاوا_اسکریپت
تایپ اسکریپت در مقابل جاوا اسکریپت : کدام را انتخاب کنیم؟
🔺 در حوزه توسعه نرم افزار، انتخاب زبان برنامه نویسی صحیح می تواند به طور قابل توجهی بر عملکرد، موفقیت، قابلیت نگهداری و کارایی نرم افزار/برنامه تاثیر بگذارد. جاوا اسکریپت (JavaScript) و تایپ اسکریپت (TypeScript) دو زبان برنامه نویسی اصلی در توسعه وب هس...
🌐 : تایپ اسکریپت در مقابل جاوا اسکریپت : کدام را انتخاب کنیم؟
#تایپ_اسکریپت #جاوااسکریپت
🔺 در حوزه توسعه نرم افزار، انتخاب زبان برنامه نویسی صحیح می تواند به طور قابل توجهی بر عملکرد، موفقیت، قابلیت نگهداری و کارایی نرم افزار/برنامه تاثیر بگذارد. جاوا اسکریپت (JavaScript) و تایپ اسکریپت (TypeScript) دو زبان برنامه نویسی اصلی در توسعه وب هس...
🌐 : تایپ اسکریپت در مقابل جاوا اسکریپت : کدام را انتخاب کنیم؟
#تایپ_اسکریپت #جاوااسکریپت
تو جاوا اسکریپت ما سه نوع کد داریم :
1. کد Synchronous
2. کد macrotask
3. کد Microtask
نکته کلیدی سوال این سه مورد هستند.
در اولی که پیش فرض جاوااسکریپت هست کد لاین به لاین اجرا می شود و تا لاین قبلی تمام نشد لاین جدید اجرا نمیشه.
دومی : بعد از اجرای کد های Synchronou و قبل میکروتسک ها اجرا می شود مثل setTimeout و setInterval و ..
.
سومی :این بخش نیز بعد از اجرای کد های ماکروتسک اجرا می شوند. مثلا : promiseها.
بررسی مثال:
بخش Synchronous :
console.log(1); بلافاصله اجرا میشود و مقدار 1 در کنسول چاپ میشود
setTimeout یک ماکروتسک تعریف میکند، اما چون setTimeout تنها تنظیم کنندهی تاخیر است، این عملیات به تعویق میافتد. پس setTimeout هنوز چیزی چاپ نمیکند
console.log(2); نیز بلافاصله اجرا میشود و مقدار 2 در کنسول چاپ میشود
console.log(4) بلافاصله بعد از promise.then فراخوانی میشود و مقدار 4 در کنسول چاپ میشود
پس از اتمام اجرای کدهایSynchrono نیز setTimeout که یک ماکروتسک است، اجرا میشود.ابتدا مقدار "timerStart" را در کنسول چاپ میکند.سپس success فراخوانی میشود که باعث میشود promise به حالت fulfilled برسد و یک میکروتسک (یعنی promise.then) به صف میکروتسکها اضافه شود.سپس مقدار "timerEnd" را چاپ میکند.
دراخرم میکروتسک اجرا می شود. success
خروجی نهایی :
1
2
4
timerStart
timerEnd
success
آنوفل
#javascript #js #نکته #جاوااسکریپت
1. کد Synchronous
2. کد macrotask
3. کد Microtask
نکته کلیدی سوال این سه مورد هستند.
در اولی که پیش فرض جاوااسکریپت هست کد لاین به لاین اجرا می شود و تا لاین قبلی تمام نشد لاین جدید اجرا نمیشه.
دومی : بعد از اجرای کد های Synchronou و قبل میکروتسک ها اجرا می شود مثل setTimeout و setInterval و ..
.
سومی :این بخش نیز بعد از اجرای کد های ماکروتسک اجرا می شوند. مثلا : promiseها.
بررسی مثال:
بخش Synchronous :
console.log(1); بلافاصله اجرا میشود و مقدار 1 در کنسول چاپ میشود
setTimeout یک ماکروتسک تعریف میکند، اما چون setTimeout تنها تنظیم کنندهی تاخیر است، این عملیات به تعویق میافتد. پس setTimeout هنوز چیزی چاپ نمیکند
console.log(2); نیز بلافاصله اجرا میشود و مقدار 2 در کنسول چاپ میشود
console.log(4) بلافاصله بعد از promise.then فراخوانی میشود و مقدار 4 در کنسول چاپ میشود
پس از اتمام اجرای کدهایSynchrono نیز setTimeout که یک ماکروتسک است، اجرا میشود.ابتدا مقدار "timerStart" را در کنسول چاپ میکند.سپس success فراخوانی میشود که باعث میشود promise به حالت fulfilled برسد و یک میکروتسک (یعنی promise.then) به صف میکروتسکها اضافه شود.سپس مقدار "timerEnd" را چاپ میکند.
دراخرم میکروتسک اجرا می شود. success
خروجی نهایی :
1
2
4
timerStart
timerEnd
success
آنوفل
#javascript #js #نکته #جاوااسکریپت
Anophel | آنوفل
آنوفل (Anophel): دنیای برنامه نویسان
آنوفل، دنیایی از امکانات برای برنامه نویسان! دورههای آموزشی متنوع، مسابقات برنامه نویسی، پادکستهای برنامهنویسی، سیستم تسکبندی و APIهای مختلف
بلوک کد های try catch تو جاوااسکریپت بنظرم خیلی طولانی هست ولی جاش می تونید از Safe Assignment Operator که به اکمااسکریپت اضافه شده استفاده کنید، این اپراتور به صورت "=?" ، این باعث میشه کد هاتون تمیز تر و error handling خوبی داشته باشید.
آنوفل دنیای برنامه نویسی
#جاوااسکریپت #جاوا_اسکریپت #Js #code #javascript
آنوفل دنیای برنامه نویسی
#جاوااسکریپت #جاوا_اسکریپت #Js #code #javascript
این یک کتابخانه جاوا اسکریپت سبک و اوپن سورس است که برای توسعه ساده فرانت اند طراحی شده است که بر سهولت استفاده و حداقل کد تأکید دارد.
#nuejs #frontend #js #javascript #جاوااسکریپت
Please open Telegram to view this post
VIEW IN TELEGRAM
در جاوااسکریپت، مفاهیم "Execution Context"و "Execution Stack"و "Variable Object" و "Scope Chain" به ترتیب با مکانیزمهای اجرایی و مدیریت متغیرها و توابع در کد ارتباط دارند.
خب این مفاهیم برای درک چگونگی اجرای کدهای جاوااسکریپت و مدیریت فضای حافظه اهمیت دارند. بیاید بیشتر باهاش آشنا شیم:
1. Execution Context:
این مفهوم به معنای فضاییه که کدهای جاوااسکریپت توش اجرا میشن. وقتی یه اسکریپت یا تابع اجرا میشه، یه "بافت اجرایی" براش ساخته میشه که مرورگر بهش نیاز داره تا کد رو درست اجرا کنه.
سه نوع کلی داریم:
- Global Execution Context: وقتی کد برای اولین بار اجرا میشه، این بافت ساخته میشه و همه کدهای خارج از توابع توش قرار میگیرن.
- Function Execution Context: هر بار که یه تابع فراخوانی میشه، یه بافت اجرایی جدید برای اون ساخته میشه.
- Eval Execution Context: وقتی کدها از طریق تابع eval() اجرا میشن، یه بافت اجرایی خاص برای اون ساخته میشه.
هر Execution Context سه بخش اصلی داره:
1.Variable Object: جایی که متغیرها و توابع تعریفشده توش ذخیره میشن.
2. Scope Chain: برای دسترسی به متغیرها و توابع در دامنههای دیگه استفاده میشه.
3. this: به آبجکت فعلی یا محیط اجرایی خاص در زمان اجرا اشاره داره.
2. Execution Stack:
اینو بهش Call Stack هم میگن. یه جور ساختار دادهای از نوع استک (LIFO: Last In, First Out) که بافتهای اجرایی رو مدیریت میکنه. هر بار که یه تابع فراخوانی میشه، بافت اجرایی اون تابع به استک اضافه میشه و بعد از اتمام اجرا، از استک خارج میشه.
3. Variable Object:
فضایی که تو هر بافت اجرایی ایجاد میشه و متغیرها، توابع و پارامترهای مربوط به اون رو ذخیره میکنه.
دو نوع اصلی داره:
- Global Execution Context: آبجکت متغیر به عنوان Global Object عمل میکنه (معمولاً window تو مرورگر).
- Function Execution Context: شامل پارامترهای تابع، متغیرهای داخل تابع و توابع درونی اون.
۴. Scope Chain:
مکانیزمیه که جاوااسکریپت برای دسترسی به متغیرها و توابع ازش استفاده میکنه. هر بافت اجرایی یه زنجیرهای از دامنهها داره که تو اون به دنبال متغیرها و توابع میگرده. وقتی جاوااسکریپت دنبال مقدار یه متغیره، اول از دامنه فعلی شروع میکنه و اگه اونجا پیدا نکرد، میره سراغ دامنههای بالاتر (مثلاً دامنه گلوبال).
این مفهوم اجازه میده که متغیرها و توابع تو جاوااسکریپت به طور سلسله مراتبی و براساس مکان تعریفشون تو کد دسترسیپذیر باشن.
ANOPHEL I آنوفل
#جاوااسکریپت #javascript #stack #react #vue
خب این مفاهیم برای درک چگونگی اجرای کدهای جاوااسکریپت و مدیریت فضای حافظه اهمیت دارند. بیاید بیشتر باهاش آشنا شیم:
1. Execution Context:
این مفهوم به معنای فضاییه که کدهای جاوااسکریپت توش اجرا میشن. وقتی یه اسکریپت یا تابع اجرا میشه، یه "بافت اجرایی" براش ساخته میشه که مرورگر بهش نیاز داره تا کد رو درست اجرا کنه.
سه نوع کلی داریم:
- Global Execution Context: وقتی کد برای اولین بار اجرا میشه، این بافت ساخته میشه و همه کدهای خارج از توابع توش قرار میگیرن.
- Function Execution Context: هر بار که یه تابع فراخوانی میشه، یه بافت اجرایی جدید برای اون ساخته میشه.
- Eval Execution Context: وقتی کدها از طریق تابع eval() اجرا میشن، یه بافت اجرایی خاص برای اون ساخته میشه.
هر Execution Context سه بخش اصلی داره:
1.Variable Object: جایی که متغیرها و توابع تعریفشده توش ذخیره میشن.
2. Scope Chain: برای دسترسی به متغیرها و توابع در دامنههای دیگه استفاده میشه.
3. this: به آبجکت فعلی یا محیط اجرایی خاص در زمان اجرا اشاره داره.
2. Execution Stack:
اینو بهش Call Stack هم میگن. یه جور ساختار دادهای از نوع استک (LIFO: Last In, First Out) که بافتهای اجرایی رو مدیریت میکنه. هر بار که یه تابع فراخوانی میشه، بافت اجرایی اون تابع به استک اضافه میشه و بعد از اتمام اجرا، از استک خارج میشه.
3. Variable Object:
فضایی که تو هر بافت اجرایی ایجاد میشه و متغیرها، توابع و پارامترهای مربوط به اون رو ذخیره میکنه.
دو نوع اصلی داره:
- Global Execution Context: آبجکت متغیر به عنوان Global Object عمل میکنه (معمولاً window تو مرورگر).
- Function Execution Context: شامل پارامترهای تابع، متغیرهای داخل تابع و توابع درونی اون.
۴. Scope Chain:
مکانیزمیه که جاوااسکریپت برای دسترسی به متغیرها و توابع ازش استفاده میکنه. هر بافت اجرایی یه زنجیرهای از دامنهها داره که تو اون به دنبال متغیرها و توابع میگرده. وقتی جاوااسکریپت دنبال مقدار یه متغیره، اول از دامنه فعلی شروع میکنه و اگه اونجا پیدا نکرد، میره سراغ دامنههای بالاتر (مثلاً دامنه گلوبال).
این مفهوم اجازه میده که متغیرها و توابع تو جاوااسکریپت به طور سلسله مراتبی و براساس مکان تعریفشون تو کد دسترسیپذیر باشن.
ANOPHEL I آنوفل
#جاوااسکریپت #javascript #stack #react #vue
Anophel | آنوفل
آنوفل (Anophel): دنیای برنامه نویسان
آنوفل، دنیایی از امکانات برای برنامه نویسان! دورههای آموزشی متنوع، مسابقات برنامه نویسی، پادکستهای برنامهنویسی، سیستم تسکبندی و APIهای مختلف