بیشتر اوقات ، عملگرها و توابع به طور خودکار مقادیر داده شده به آنها را به نوع(type) مناسب تبدیل می کنند.
برای مثال تابع alert هر مقداری که بهش بدیم تبدیلش میکنه به string و بعد نشونش میده، عملگر های ریاضی مقدار ها رو به عدد تبدیل میکنن
همچنین توی بعضی موارد نیازه که به صورت دستی نوع یک مقدار رو عوض کنیم
تبدیل به string زمانی اتفاق می افته که یک مقدار رو به صورت رشتهای نیاز داشته باشیم
برای نمونه alert(value) تبدیل به string را برای نمایش، انجام میده
همینطور میتونیم با صدا زدن String(value) تبدیل یک مقدار به string رو انجام بدیم
let value = true; alert(typeof value); // boolean value = String(value); // now value is a string "true" alert(typeof value); // string
تبدیل به string معمولا واضحه false به "false" و null به "null" تبدیل میشه و برای بقیه مقادیر هم به همین ترتیب انجام میشه
تبدیل به عدد توی فانکشنها و عبارات ریاضیاتی به طور خودکار انجام میشه
برای نمونه وقتی تقسیم / روی مقادیر غیر عددی انجام میشه (اعداد از نوع رشته به نوع عددی تبدیل میشن):
alert( "6" / "2" ); // 3, strings are converted to numbers
برای این که بخوایم خودمون یه مقداری رو به عدد تبدیل کنیم میتونیم از Number(value) استفاده کنیم :
let str = "123" alert(typeof str); // string let num = Number(str); // becomes a number 123 alert(typeof num); // number
وقتی داریم یه سری مقدار ها رو از یه جایی مثل input از کاربر میگیریم لازمه که به عدد تبدیلش کنیم
اگه رشتهای که وارد شده باشه یه عدد معتبر نباشه نتیجهی تبدیلش به عدد NaN هست مثلا:
let age = Number("an arbitrary string instead of a number"); alert(age); // NaN, conversion failed
مقدار undefined به NaN تبدیل میشه
مقدار null به 0 تبدیل میشه
مقدار true , false به 0 , 1 تبدیل میشه
مقدار string : فاصلههای خالی ابتدا و انتها حذف میشوند. اگر رشتهی باقی مانده خالی باشد نتیجه 0 خواهد بود. در غیر اینصورت عدد موجود در رشته کاراکترها خوانده خواهد شد. همینطور اگر خطایی رخ دهد نتیجه NaN خواهد بود
مثال:
alert( Number(" 123 ") ); // 123 alert( Number("123z") ); // NaN (error reading a number at "z") alert( Number(true) ); // 1 alert( Number(false) ); // 0
توجه کنین که null و undefined اینجا متفاوت عمل میکنن Null به 0 تبدیل میشه و undefined به NaN تبدیل میشه
تبدیل به boolean راحت ترین حالته
نتیجه یه عملگر های شرطی Boolean هست و همچنین میتونیم با استفاده از Boolean(value) یه مقدار رو تبدیل کنیم
مقادیری که در ظاهر "خالی" هستن، مثل 0 ، string خالی ، null ، undefined و NaN به false تبدیل میشن، بقیه مقادیر به true تبدیل میشن
برای مثال :
alert( Boolean(1) ); // true alert( Boolean(0) ); // false alert( Boolean("hello") ); // true alert( Boolean("") ); // false
یک صفر رشتهای "0" نتیجهاش میشه true
بعضی از زبان های برنامه نویسی مثل PHP میاد "0" رو به false تبدیل میکنه اما توی جاوااسکریپت هر رشتهای که خالی نباشه با هر مقداری تبدیل میشه به true
alert( Boolean("0") ); // true alert( Boolean(" ") ); // spaces, also true (any non-empty string is true)
سه تبدیل پرکاربردی که استفاده میشه، تبدیل رشتهای، عددی و منطقی هست
تبدیل به string - وقتی که میخوایم خروجیای داشته باشیم اتفاق میوفته. از طریق String(value) قابل انجامه
تبدیل به number– در عملگرهای ریاضیاتی اتفاق میوفته. از طریق Number(value) هم قابل انجامه
تبدیل به boolean – در عملگرهای منطقی اتفاق میوفته. از طریق Boolean(value) قابل انجامه
اگر توی این مقاله مشکلی بود یا خواستین توی این پروژه مشارکت کنین این لینک گیتهابش هست.