تبديلات نوع داده در جاوااسكريپت موارد زيرميباشد:
جاوااسكريپت ميتواند متغيرهارا به متغير و نوع داده اي ديگر مطابق دو روال زير تبديل كند.
با متد سراسريNumber()ميتوان متغير يا مقدار را به عدد تبديل نمود.
يك رشته عددي مشابه"3.14" به عدد3.14 تبديل مي شود .
يك رشته خالي مثال"" به عدد 0 تبديل ميشود .
يك رشته غيرعددي مثال"John" بهNaN كه عددنيست تبديل مي شود .
مثال ـ اين موارد درست تبديل ميشوند.
Number("3.14") Number(Math.PI) Number(" ") Number("")
مثال ـ اينها نادرست تبديل ميشوند.
Number("99 88") Number("John")
ميتوانيد متدهاي عددي كه رشته را بهNumber Methods در فصل عدد تبديل ميكنند پيدا نمائيد .تعدادي از آنها در جدول زير است:
مــتد | شــرح |
---|---|
Number() | آرگومان را به عدد تبديل نموده وبرگشت ميدهد. |
parsfloat() | ارسال رشته و تبديل آن به عدد فلوت |
parsint() | ارسال رشته وبرگشتي به عدد صحيح |
عملگرUnary +ميتواند براي تبديل متغير به عدد مورد استفاده قرارگيرد .
مثال ـ عملگرUnary +
let y = "5"; // y is a string let x = + y; // x is a number
در صوريتكه در تبديل عملگر نتواند عملوند به عدد تبديل شود، نتيجهNaN كه غير عددي است ، خواهد بود.
مثال ـ تبديل رشته با عملگرUnary +
let y = "John"; // y is a string let x = + y; // x is a number (NaN)
متد سراسري يا جهانيString() مي تواند عدد را به رشته تبديل كند . آن را ميتوان براي هرنوع عددي مثل ليترال، متغير يا عبارت استفاده كرد.
مثال ـ نمونه تبديل عدد به رشته
String(x) // returns a string from a number variable x String(123) // returns a string from a number literal 123 String(100 + 23) // returns a string from a number from an expression
متد عدديtoString()مشابه با String() نيست .
مثال ـ تبديل عدد به رشته با متدtoString()
x.toString() (123).toString() (100 + 23).toString()
در جدول زير سه متد ديگر كه اعداد را به رشته تبديل ميكنند آمده است:
مــتد | شــرح |
---|---|
toExponential() | رشته اي را برگشت ميدهد، كه درآن عدد گرد شده وفرم تواني است |
toFixed() | عدد گرد شده وبا تعداد رقم اعشاري در رشته برگشت ميشود. |
toPrecision( ) | عدد در رشته اي با طول مشخص تبديل ميشود. |
متد جهانيNumbers( ) مي تواند براي تبديل تاريح به عدد استفاده شود .
d = new Date(); Number(d) // returns 1404568027739
متدgetTime( ) مشابهNumber( ) براي تاريخ عمل مي نمايد.
d = new Date(); d.getTime() // returns 1404568027739
متد جهانيString( ) مي تواند تاريخ را به رشته فرم تاريخ تبديل كند.
String(Date()) // returns "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"
متدtoString( )هم مشابه بالا عمل ميكند .
مثال ـ تبديل تاريخ به رشته باtoStrinfg( )
Date().toString() // returns "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"
درفصل Date Methods متدهاي زيادتري براي تبديل تاريخ به رشته، مي توانيد پيدا نمائيد.
متد | شــرح متد |
---|---|
getDate() | روز تاريخ را دريافت ميكند(1-31) |
getDay() | روز هفته را دريافت ميكند(0-6) |
getFullYear() | تاريخ سال كامل(yyyy) را دريافت ميكند . |
getHours() | دريافت ساعت(0-23) |
getMilliseconds | دريافت ميلي ثانيه(0-999) |
getMinutes() | دريافت دقيقه(0-59) |
getMonth() | ماه را دريافت ميكند(0-11) |
getSeconds( ) | دريافت ثانيه(0-59) |
getTime() | زمان برحسب ميلي ثانيه نسبت به(January 1,1970) |
متد جهانيNumber( ) ميتواند بولين را به عدد تبديل كند .
Number(false) // returns 0 Number(true) // returns 1
متد جهانيString( ) ميتواند بولين را برشته تبديل كند .
String(false) // returns "false" String(true) // returns "true"
متد بولينtoString( ) مشابه مشابه فوق ميباشد .
false.toString() // returns "false" true.toString() // returns "true"
هنگاميكه جاوااسكريپت روي داده غلط اقدام ميكند، تلاش ميكند آنرا به نوع درست تبديل كند. دراين نوع اقدام هميشه نتيجه آن چيزيكه مورد انتظاراست، نيست.
5 + null // returns 5 because null is converted to 0 "5" + null // returns "5null" because null is converted to "null" "5" + 2 // returns "52" because 2 is converted to "2" "5" - 2 // returns 3 because "5" is converted to 5 "5" * "2" // returns 10 because "5" and "2" are converted to 5 and 2
جاوااسكريپت بطور خودكارتابعtoString( )را براي خروجي متغيرها يا شئ فراخوان ميكند.
document.getElementById("demo").innerHTML = myVar; // if myVar = {name:"Fjohn"} // toString converts to "[object Object]" // if myVar = [1,2,3,4] // toString converts to "1,2,3,4" // if myVar = new Date() // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"
اعداد وبولين ها همچنين تبديل برشته ميشوند ، اما تبديل قابل توجهي نيست.
// if myVar = 123 // toString converts to "123" // if myVar = true // toString converts to "true" // if myVar = false // toString converts to "false"
در جدول زير نتيجه تبديل مقادير به عدد، رشته، وبولين را نشان ميدهد.
مقادير داخل كوتيشن مقادير رشته اي رامشخص ميكنند.
مقاديرقرمز بعضي از مقاديري را مشخص ميكند كه ممكن است برنامه نويس انتظارش نداشته باشد.
Original Value |
Converted to Number |
Converted to String |
Converted to Boolean |
---|---|---|---|
false | 0 | "false" | false |
true | 1 | "true" | true |
0 | 0 | "0" | false |
1 | 1 | "1" | true |
"0" | 0 | "0" | true |
"000" | 0 | "000" | true |
"1" | 1 | "1" | true |
NaN | NaN | "NaN" | false |
Infinity | Infinity | "Infinity" | true |
-Infinity | -Infinity | "-Infinity" | true |
"" | 0 | "" | false |
"20" | 20 | "20" | true |
"twenty" | NaN | "twenty" | true |
[ ] | 0 | "" | true |
[20] | 20 | "20" | true |
[10,20] | NaN | "10,20" | true |
["twenty"] | NaN | "twenty" | true |
["ten","twenty"] | NaN | "ten,twenty" | true |
function(){} | NaN | "function(){}" | true |
{ } | NaN | "[object Object]" | true |
null | 0 | "null" | false |
undefined | NaN | "undefined" | false |