‎‎تبديل نوع دادهJavaScript Type Conversion -‎

Previous >    <Next  

‎‎تبديلات نوع داده در جاوااسكريپت موارد زيرميباشد:

‎‎تبديل نوع دادهJavaScript Type Conversion -‎

‎‎جاوااسكريپت ميتواند متغيرهارا به متغير و نوع داده اي ديگر مطابق دو روال زير تبديل كند.

‎‎تبديل رشته به عددConverting Strings to Numbes -‎

‎‎با متد سراسري‎Number()‎‎ميتوان متغير يا مقدار را به عدد تبديل نمود.

‎‎يك رشته عددي مشابه‎‎"3.14‎"‎ به عدد‎3.14‎ تبديل مي شود .

‎‎يك رشته خالي مثال‎‎"‎"‎ به عدد ‎0‎ تبديل ميشود .

‎‎يك رشته غيرعددي مثال‎‎"John‎"‎ به‎NaN ‎ كه عددنيست تبديل مي شود .

‎‎مثال ـ اين موارد درست تبديل ميشوند.

Number("3.14")
Number(Math.PI)
Number(" ")
Number("")

‎‎مثال ـ اينها نادرست تبديل ميشوند.

Number("99 88")
Number("John")

--(go to editor for change code and run)

‎‎متدهاي عدديNumber Methods -‎

ميتوانيد متدهاي عددي كه رشته را بهNumber Methods در فصل ‎عدد تبديل ميكنند پيدا نمائيد .تعدادي از آنها در جدول زير است:

‎‎مــتد ‎‎شــرح
‎‎Number()‎ ‎‎ ‎‎آرگومان را به عدد تبديل نموده وبرگشت ميدهد.
‎‎parsfloat()‎ ‎‎ ‎‎ارسال رشته و تبديل آن به عدد فلوت
‎‎parsint()‎‎‎ ‎‎ارسال رشته وبرگشتي به عدد صحيح

‎‎عملگرUnary +

‎‎عملگر‎Unary +‎ميتواند براي تبديل متغير به عدد مورد استفاده قرارگيرد .

‎‎مثال ـ عملگرUnary +

let y = "5";      // y is a string
let x = + y;      // x is a number

--(go to editor for change code and run)

‎در صوريتكه در تبديل عملگر نتواند عملوند به عدد تبديل شود، نتيجه‎NaN‎ كه غير ‎عددي است ، خواهد بود.

‎‎مثال ـ تبديل رشته با عملگرUnary +

let y = "John";   // y is a string
let x = + y;      // x is a number (NaN)

--(go to editor for change code and run)

‎‎تبديل عدد به رشتهConverting Numbers to Strings -‎

‎متد سراسري يا جهاني‎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

--(go to editor for change code and run)

‎‎متد عددي‎toString()‎‎مشابه با ‎String()‎‎ نيست .

‎‎مثال ـ تبديل عدد به رشته با متد‎toString()‎

x.toString()
(123).toString()
(100 + 23).toString()

--(go to editor for change code and run)

‎‎در جدول زير سه متد ديگر كه اعداد را به رشته تبديل ميكنند آمده است:

‎‎مــتد ‎‎شــرح
‎‎toExponential()‎‎‎ ‎‎رشته اي را برگشت ميدهد، كه درآن عدد گرد شده وفرم تواني است
‎‎toFixed()‎‎‎ ‎‎عدد گرد شده وبا تعداد رقم اعشاري در رشته برگشت ميشود.
‎‎toPrecision( )‎‎ ‎‎عدد در رشته اي با طول مشخص تبديل ميشود.

‎‎تبديل تاريخ به عددConverting Dates to Numbers -‎

‎‎متد جهاني‎Numbers( )‎ مي تواند براي تبديل تاريح به عدد استفاده شود .

d = new Date();
Number(d)          // returns 1404568027739

‎متد‎getTime( )‎ مشابه‎Number( )‎ براي تاريخ عمل ‎مي نمايد.

d = new Date();
d.getTime()        // returns 1404568027739

‎‎تبديل تاريخ به رشتهConverting Dates to Strings -‎

‎متد جهاني‎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)"

--(go to editor for change code and run)

‎درفصل 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)

‎‎تبديل بولين به عددConverting Booleans to Numbers -‎

‎‎متد جهاني‎Number( )‎ ميتواند بولين را به عدد تبديل كند .

Number(false)     // returns 0
Number(true)      // returns 1

‎‎تبديل بولين به رشتهConverting Booleans to Strings -‎

‎‎متد جهاني‎String( )‎ ميتواند بولين را برشته تبديل كند .

String(false)      // returns "false"
String(true)       // returns "true"

‎‎متد بولين‎toString( )‎ مشابه مشابه فوق ميباشد .

false.toString()   // returns "false"
true.toString()    // returns "true"

‎‎تبديل خودكار نوعAutomatic Type Conversion -‎

‎هنگاميكه جاوااسكريپت روي داده غلط اقدام ميكند، تلاش ميكند آنرا به نوع درست تبديل كند. ‎دراين نوع اقدام هميشه نتيجه آن چيزيكه مورد انتظاراست، نيست.

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

--(go to editor for change code and run)

‎‎تبديل خودكار رشتهAutomatic Sring Conversion -‎

‎جاوااسكريپت بطور خودكارتابع‎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"


‎‎جدول تبديل نوعJavaScript Type Conversion Table -‎

‎‎در جدول زير نتيجه تبديل مقادير به عدد، رشته، وبولين را نشان ميدهد.

‎‎مقادير داخل كوتيشن مقادير رشته اي رامشخص ميكنند.

مقاديرقرمز ‎بعضي از مقاديري را مشخص ميكند كه ممكن است برنامه نويس انتظارش نداشته باشد.

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

Previous >    <Next