تبدیل انواع داده ها به یکدیگر در جاوا اسکریپت

ﯾﮑﯽ از وﯾﮋﮔﯽ ﻫﺎی ﺑﺮﺟﺴﺘﻪ ﻫﺮ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﻗﺎﺑﻠﯿﺖ ﺗﺒﺪﯾﻞ اﻧﻮاع در آن اﺳﺖ. ﺟﺎوا اﺳﮑﺮﯾﭙﺖ ﻧﯿﺰ از اﯾﻦ ﻗﺎﻋﺪه ﻣﺴﺘﺜﻨﯽ ﻧﺒﻮده و روش ﻫﺎی ﺳﺎده ای ﺑﺮای ﺗﺒﺪﯾﻞ اﻧﻮاع ﻓﺮاﻫﻢ آورده اﺳﺖ. اﮐﺜﺮ اﻧﻮاع ﻣﻮﺟﻮد در ﺟﺎوااﺳﮑﺮﯾﭙﺖ از ﻣﺘﺪﻫﺎﯾﯽ ﺑﺮای ﺗﺒﺪﯾﻞ ﺑﻪ ﺳﺎﯾﺮ اﻧﻮاع ﭘﺸﺘﯿﺒﺎﻧﯽ ﮐﺮده و ﺗﻮاﺑﻌﯽ ﺳﺮاﺳﺮی ﺑﺮای ﺗﺒﺪﯾﻞ اﻧﻮاع ﺑﻪ روش ﻫﺎی ﭘﯿﭽﯿﺪه ﺗﺮ وﺟﻮد دارد.

یکی از جذاب ترین ویژگی داده ها در جاوا اسکریپت در رابطه با سه نوع اصلی boolean ,string و number این است که آنها  در اﺻﻞ اﺷﯿﺎی ﮐﺎذب ﻫﺴﺘﻨﺪ، ﺑﻪ اﯾﻦ ﻣﻌﻨﯽ ﮐﻪ دارای ﺧﺎﺻﯿﺖ ﻫﺎ و ﻣﺘﺪﻫﺎی ﻣﺸﺘﺮک و ﻣﻨﺤﺼﺮ ﺑﻪ ﻓﺮدی ﻣﯽ باشند.

به عنوان مثال از خاصیت length می توان برای به دست آوردن طول یک رشته استفاده کرد.

var car=”this is a car”;

alert(car.length);

تبدیل انواع داده به رشته در جاوااسکریپت

برای تبدیل سه نوع داده اصلی boolean,string و number به رشته می توانید از متد tostring استفاده نمایید.

var bFound = false;

alert(bFound.toString()); //outputs “false”

تبدیل انواع داده‌ها به عدد در جاوا اسکریپت

ﺟﺎوااﺳﮑﺮﯾﭙﺖ دو ﻣﺘﺪ ﺑﺮای ﺗﺒﺪﯾﻞ اﻧﻮاع ﻏﯿﺮ ﻋﺪدی ﺑﻪ ﻋﺪدی ﻓﺮاﻫﻢ ﮐﺮده اﺳﺖ:

parseInt()

parsFloat()

دقت نمایید که F و I باید با حروف بزرگ نوشته شوند.

اﯾﻦ ﻣﺘﺪ ﻫﺎ ﻓﻘﻂ ﺑﺮ روی رﺷﺘﻪ ﻫﺎی ﺣﺎوی ﻋﺪد ﮐﺎر ﻣﯽ ﮐﻨﻨﺪ و ﺑﺮ روی ﺑﻘﯿﻪ اﻧﻮاع ﻣﻘﺪار NAN را برمیگردانند.

متد parsInt:از اولین کاراکتر رشته شروع می کند اگر عدد بود آن را برمیگرداند در غیر این صورت مقدار NaN را برمیگرداند.ﯾﻦ روﻧﺪ ﺗﺎ آﺧﺮﯾﻦ ﮐﺎراﮐﺘﺮ اداﻣﻪ ﭘﯿﺪا ﻣﯽﮐﻨﺪ ﺗﺎ اﯾﻨﮑﻪ ﺑﻪ ﮐﺎراﮐﺘﺮی ﻏﯿﺮ ﻋﺪدی ﺑﺮﺳﺪ. ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل اﯾﻦ ﻣﺘﺪ ﻋﺒﺎرت ۱۲۳red را به صورت ۱۲۳ برمیگرداند.

var iNum1 = parseInt(“۱۲۳۴blue”); //returns 1234

var iNum3 = parseInt(“22.5”);   //returns 22

var iNum4 = parseInt(“blue”);   //returns NaN

متد parsFloat نیز مثل parsInt عمل کرده و از اوﻟﯿﻦ ﮐﺎراﮐﺘﺮ ﺷﺮوع ﺑﻪ ﺟﺴﺘﺠﻮ ﻣﯽ ﮐﻨﺪ. اﻟﺒﺘﻪ در اﯾﻦ ﻣﺘﺪ اوﻟﯿﻦ ﮐﺎراﮐﺘﺮ ﻧﻘﻄﻪ ﺣﺴﺎب ﻧﻤﯽ ﺷﻮد و آن را ﺑﻪ ﻫﻤﺎن ﺻﻮرت ﺑﺮﻣﯽﮔﺮداﻧﺪ.اﮔﺮ دو ﮐﺎراﮐﺘﺮ ﻧﻘﻄﻪ در رﺷﺘﻪ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ دوﻣﯿﻦ ﻧﻘﻄﻪ ﺑﻪ ﻋﻨﻮان ﮐﺎراﮐﺘﺮ ﺑﯽ ارزش ﺷﻨﺎﺧﺘﻪ ﻣﯽ ﺷﻮد و ﻋﻤﻠﯿﺎت ﺗﺒﺪﯾﻞ ﻣﺘﻮﻗﻒ ﻣﯽ ﺷﻮد.

var fNum1 = parseFloat(“۱۲۳۴blue”);   //returns 1234.0

var fNum3 = parseFloat(“۲۲٫۵”);   //returns 22.5

var fNum4 = parseFloat(“۲۲٫۳۴٫۵”);    //returns 22.34

var fNum6 = parseFloat(“blue”);       //returns NaN

جدول زیر نتیجه‌ی تبدیل داده‌ها را به همدیگه نشان میده

دادهتبدیل به عددتبدیل به رشتهتبدیل به منطقی
“۲۰”۲۰“۲۰”true
“twenty”NaN“twenty”true
[“twenty”]NaN“twenty”true
[“twenty”]NaN“twenty”true
[]۰“”true
[۲۰]۲۰“۲۰”true
[۱۰,۲۰]NaN“۱۰,۲۰”true
function(){}NaN“function(){}”true
{}NaN“[object Object]”true
undefinedNaN“undefined”false
۰۰“۰”true
۱۱“۱”true
“”۰“”false
NanNaN“NaN”false
InfinityInfinity“Infinity”true
-Infinity-Infinity“-Infinity”true
false۰“false”false
true۱“true”true

دیدگاه خود را بنویسید