آموزش جاوااسکریپت -  تبدیل تایپ‌ها در جاوااسکریپت

بیشتر اوقات ، عملگرها و توابع به طور خودکار مقادیر داده شده به آنها را به نوع(type) مناسب تبدیل می کنند. برای مثال تابع alert هر مقداری که بهش بدیم تبدیلش میکنه به string و بعد نشونش میده، عملگر های ریاضی مقدار ها رو به عدد تبدیل میکننهمچنین توی بعضی موارد نیازه که به صورت دستی نوع یک مقدار رو عوض کنیم تبدیل رشته‌ای (String Conversion)تبدیل به string زمانی اتفاق می افته که یک مقدار رو به صورت رشته‌ای نیاز داشته باشیمبرای نمونه alert(value) تبدیل به string را برای نمایش، انجام می‌دههمینطور می‌تونیم با صدا زدن String(value) تبدیل یک مقدار به string رو انجام بدیمlet value = true; alert(typeof value); // boolean value = String(value); // now value is a string &quottrue&quot alert(typeof value); // stringتبدیل به string معمولا واضحه false به "false" و null به "null" تبدیل میشه و برای بقیه مقادیر هم به همین ترتیب انجام میشهتبدیل عددی (Numeric Conversion)تبدیل به عدد توی فانکشن‌ها و عبارات ریاضیاتی به طور خودکار انجام می‌شهبرای نمونه وقتی تقسیم / روی مقادیر غیر عددی انجام میشه (اعداد از نوع رشته به نوع عددی تبدیل میشن):alert( &quot6&quot / &quot2&quot ); // 3, strings are converted to numbersبرای این که بخوایم خودمون یه مقداری رو به عدد تبدیل کنیم میتونیم از Number(value) استفاده کنیم : let str = &quot123&quot alert(typeof str); // string let num = Number(str); // becomes a number 123 alert(typeof num); // numberوقتی داریم یه سری مقدار ها رو از یه جایی مثل input از کاربر میگیریم لازمه که به عدد تبدیلش کنیم اگه رشته‌ای که وارد شده باشه یه عدد معتبر نباشه نتیجه‌ی تبدیلش به عدد NaN هست مثلا:let age = Number(&quotan arbitrary string instead of a number&quot); alert(age); // NaN, conversion failedقواعد تبدیل به Number :مقدار undefined به NaN تبدیل میشه مقدار null به 0 تبدیل میشه مقدار true , false به 0 , 1 تبدیل میشه مقدار string : فاصله‌های خالی ابتدا و انتها حذف می‌شوند. اگر رشته‌ی باقی مانده خالی باشد نتیجه 0 خواهد بود. در غیر اینصورت عدد موجود در رشته کاراکترها خوانده خواهد شد. همینطور اگر خطایی رخ دهد نتیجه NaN خواهد بودمثال: alert( Number(&quot 123 &quot) ); // 123 alert( Number(&quot123z&quot) ); // NaN (error reading a number at &quotz&quot) alert( Number(true) ); // 1 alert( Number(false) ); // 0توجه کنین که null و undefined اینجا متفاوت عمل می‌کنن Null به 0 تبدیل می‌شه و undefined به NaN تبدیل می‌شهتبدیل منطقی (Boolean Conversion)تبدیل به boolean راحت ترین حالتهنتیجه یه عملگر های شرطی Boolean هست و همچنین میتونیم با استفاده از Boolean(value) یه مقدار رو تبدیل کنیمقاعده تبدیل Boolean :مقادیری که در ظاهر "خالی" هستن، مثل 0 ، string خالی ، null ، undefined و NaN به false تبدیل می‌شن، بقیه مقادیر به true تبدیل می‌شنبرای مثال : alert( Boolean(1) ); // true alert( Boolean(0) ); // false alert( Boolean(&quothello&quot) ); // true alert( Boolean(&quot&quot) ); // false×× نکته ×× یک صفر رشته‌ای "0" نتیجه‌اش میشه true بعضی از زبان های برنامه نویسی مثل PHP میاد "0" رو به false تبدیل میکنه اما توی جاوااسکریپت هر رشته‌ای که خالی نباشه با هر مقداری تبدیل میشه به truealert( Boolean(&quot0&quot) ); // true alert( Boolean(&quot &quot) ); // spaces, also true (any non-empty string is true)خلاصهسه تبدیل پرکاربردی که استفاده میشه، تبدیل رشته‌ای، عددی و منطقی هستتبدیل به string - وقتی که می‌خوایم خروجی‌ای داشته باشیم اتفاق میوفته. از طریق String(value) قابل انجامهتبدیل به number– در عملگرهای ریاضیاتی اتفاق میوفته. از طریق Number(value) هم قابل انجامهتبدیل به boolean – در عملگرهای منطقی اتفاق میوفته. از طریق Boolean(value) قابل انجامهپست قبلی(آموزش جاوااسکریپت - تعامل با کاربر) https://vrgl.ir/y5yFN اگر توی این مقاله مشکلی بود یا خواستین توی این پروژه مشارکت کنین این لینک گیت‌هابش هست.منبعگیت‌هاب