تبدیل انواع داده ها در جاوا اسکریپت به چه صورت است ؟

0

تبدیل انواع داده ها در جاوا اسکریپت به چه صورت است ؟

حسین برخورداری سوال پاسخ داده شده اکتبر 18, 2020
گذاشتن نظر
1

تبدیل انواع داده ها در جاوا اسکریپت به چه صورت است ؟

یکی از ویژگی هاي برجسته هر زبان برنامه نویسی قابلیت تبدیل انواع در آن است. جاوا اسکریپت نیز از این قاعده مستثنی نبوده و روش هاي ساده اي براي تبدیل انواع فراهم آورده است. اکثر انواع موجود در جاوااسکریپت از متدهایی براي تبدیل به سایر انواع پشتیبانی کرده و توابعی سراسري براي تبدیل انواع به روش هاي پیچیده تر وجود دارد

یکی از جذابترین ویژگی هایی که جاوا اسکریپت در رابطه با انواع اصلی boolean string و numbers ، فراهم کرده است این است که آنها در اصل اشیاي کاذب هستند، به این معنی که داراي خاصیت ها و متدهاي مشترك و منحصر به فردي می باشند. به عنوان مثال براي بدست آوردن طول یک رشته می توان از خاصیت length استفاده نمود:

;var sColor = “blue”
alert (sColor.length) ; //outputs “4”

سه نوع داده string و number ، boolean متدي به نام tostring() براي تبدیل به رشته دارند. این متد براي متغیرهاي از نوع Boolean یکی از مقادیر رشته اي false و true را بسته به مقدار متغیر برمیگرداند:

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

این متد براي متغیر هاي از نوع number رشته اي حاوي آن عدد را بر می گرداند:

; var iNum1 = 10
; var fNum2 = 10.0
alert(iNum1.toString()); //outputs “10”
alert(fNum2.toString()); //outputs “10”

تبدیل به عدد
جاوااسکریپت دو متد براي تبدیل انواع غیر عددي به عددي فراهم کرده است:

praseInt()
parseFloat()

این متد ها فقط بر روي رشته هاي حاوي عدد کار می کنند و بر روي بقیه انواع مقدارNaN را بر می گردانند. متد parseInt() از اولین کاراکتر رشته شروع می کند اگر عدد بود آن را بر می گرداند در غیر این صورت مقدار NaN را برمی گرداند. این روند تا آخرین کاراکتر ادامه پیدا میکند تا اینکه به کاراکتري غیر عددي برسد. به عنوان مثال این متد عبارت red 123 را به صورت 123 برمیگرداند.

var iNum1 = parseInt(“1234blue”); //returns 1234
var iNum3 = parseInt(“22.5”); //returns 22
var iNum4 = parseInt(“blue”); //returns NaN

متد parseFloat() نیز مثل parseInt() عمل کرده و از اولین کاراکتر شروع به جستجو می کند. البته در این متد اولین کاراکتر نقطه حساب نمی شود و آن را به همان صورت برمیگرداند اگر دو کاراکتر نقطه در رشته وجود داشته باشند دومین نقطه به عنوان کاراکتر بی ارزش شناخته می شود و عملیات تبدیل متوقف می شود. مثال ها:
var fNum1 = parseFloat(“1234blue”); //returns 1234.0
var fNum3 = parseFloat(“22.5”); //returns 22.5
var fNum4 = parseFloat(“22.34.5”); //returns 22.34
var fNum6 = parseFloat(“blue”); //returns NaN

استفاده از Type Casting براي تبدیل انواع

در جاوااسکریپت امکان استفاده از روشی موسوم به Type Casting براي تبدیل انواع وجود دارد. سه نوع type casting در جاوااسکریپت وجود دارد:

Boolean ()
Number ()
String ()

تابع Boolean() زمانی مقدار true را بر می گرداند که پارامتر دریافتی اش، رشته اي شامل حداقل یک کارکتر، یک عدد غیر از صفر و یا یک شی باشد. مقدار false را نیز زمانی بر می گرداند که پارامتر دریافتی اش رشته اي تهی، عدد صفر یا یکی از مقادیر undefined و null باشد:

var b1 = Boolean(“”); //false – empty string
var b2 = Boolean(“hi”); //true – non-empty string
var b3 = Boolean(100); //true – non-zero number
var b4 = Boolean(null); //false – null
var b5 = Boolean(0); //false – zero
var b6 = Boolean(new Object()); //true – object

تابع Number() کاري شبیه parseInt() و parseFloat() را انجام می دهد اما تفاوت هایی هم دارد.اگر به یاد داشته باشید متدهاي parseInt() و parseFloat() آرگومان دریافتی را فقط تا اولین کاراکتر بی ارزش بر می گرداندند. مثلا رشته ” 4.5.6 “ به 4.5 تبدیل خواهند کرد. اما کاربرد متد Number() براي این رشته مقدار NaN را برمی گرداند زیرا این رشته در کل، از نظر متد Number() امکان تبدیل به یک عدد را ندارد.

اگر رشته اي امکان تبدیل به یک عدد را داشته باشد متد Number() خود، براي استفاده از یکی از توابع parseInt() با parseFloat() تصمیم می گیرد. در مثال زیر حاصل اجراي تابع Number() براي انواع داده ها را نشان می دهد:

Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number(“5.5”) 5.5
Number(“56”) 56
Number(“5.6.7”) NaN
Number(new Object()) NaN
Number(100) 100

ساده ترین تابع هم String() است که همان چیزي را که می گیرد به عنوان رشته بر می گرداند: var s1 = String(null); // ”null”

منبع : انجمن علمی مهندسی فناوری اطلاعات دانشگاه پیام نور مرکز اران و بید گل

برای اموزش های ویدیویی زبان جاوا اسکریپت  به بستر ویدیو های اموزشی بروید

بستر اموزش های ویدویی 

حسین برخورداری سوال پاسخ داده شده اکتبر 18, 2020
گذاشتن نظر
شما در حال مشاهده 1 از 1 پاسخ هستید ، برای دیدن همه پاسخها اینجا را کلیک کنید .
پاسخ خود را بنویسید .
  • فعال
  • بازدیدها2123 times
  • پاسخ ها1 پاسخ
ورود به متاورس | متاورس ایرانی
ورود به متاورس ایران یا همان متاورس ملی

علامت ذره بین Tutorials سمت راست به رنگ قرمز به شما کمک خواهد کرد .

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

منقضی شدن سم بتانال 1 پاسخ | 0 آرا
ایا ایدز گزفتم؟ 0 پاسخ ها | 0 آرا
انتخاب ورزش رزمی 0 پاسخ ها | 1 رای
وزارت تعاون کار و رفاه اجتماعی نماد اعتماد الکترونیک اسناد و املاک کشور مرکز آموزش ویدیویی انجمن حم فروشگاه ملی تولید کنندگان مدیریت بر مدیران حم سامانه حیوانات رسانه ملی اخبار متا دانشگاه متاورس استخدام | دانش فروشگاه حم تبلیغات ملی بازار NFT متاورس رنگ نقشه ملی سه بعدی متا املاک و مستغلات