دوره‌ای که می‌تونه مسیر شغلیت رو عوض کنه! دوره‌ای که می‌تونه مسیر شغلیت رو عوض کنه!
🎯 ثبت نام

آموزش توابع تبدیل نوع در جاوا اسکریپت

تبدیل نوع در جاوا اسکریپت / JavaScript type conversion

()Number به عدد تبدیل می شود، ()String به رشته تبدیل می گردد و ()Boolean نیز به یک بولی (Boolean) تبدیل می شود.

نوع داده های جاوا اسکریپت (Data types)

در زبان جاوا اسکریپت کلا پنج نوع داده ی متفاوت وجود دارد که می توانند در خود مقدار نگه دارند.
String
number
boolean
object
function

این زبان همچنین سه نوع مختلف شی ارائه می دهد.
Object
Date
Array
و دو نوع داده (data type) که قادر به ذخیره و نگه داری مقدار در خود نیستند.
null
undefined

عملگر typeof

می توان با استفاده از عملگر typeof، نوع داده ی متغیر جاوا اسکریپت را برمی گرداند.

مثال:

نمونه یک

1
2
3
4
5
6
7
8
9
10
typeof "John"                 // Returns string
typeof 3.14                   // Returns number
typeof NaN                    // Returns number
typeof false                  // Returns boolean
typeof [1,2,3,4]              // Returns object
typeof {name:'John', age:34}  // Returns object
typeof new Date()             // Returns object
typeof function () {}         // Returns function
typeof myCar                  // Returns undefined (if myCar is not declared)
typeof null <button></button>
امتحان کنید

به نکات زیر توجه داشته باشید.
نوع داده ی متغیر NaN یک عدد است.
نوع داده ی یک آرایه شی است.
نوع داده ی date شی است.
نوع داده ی null نیز شی است.
نوع داده ی یک متغیر (undefined) تعریف نشده، undefined می باشد.
نمی توانید از عملگر نام برده برای کشف اینکه آیا یک JavaScript object آرایه است یا خیر استفاده کنید.
typeof یک متغیر نیست بلکه یک عملگر محسوب می شود. عملگرها (* - + /) نمی توانند نوع داده داشته باشند.
اما لازم است توجه داشته باشید که این عملگر همیشه یک رشته برمی گرداند که دربردانده ی نوع عملوند (operand) می باشد.

خاصیت (property) Constructor

این خاصیت ارجاعی به Object function که prototype نمونه ی مورد نظر را ایجاد کرده برمی گرداند.

مثال:

نمونه دو

1
2
3
4
5
6
7
"John".constructor                 // Returns function String()  { [native code] }
(3.14).constructor                 // Returns function Number()  { [native code] }
false.constructor                  // Returns function Boolean() { [native code] }
[1,2,3,4].constructor              // Returns function Array()   { [native code] }
{name:'John', age:34}.constructor  // Returns function Object()  { [native code] }
new Date().constructor             // Returns function Date()    { [native code] }
function () {}.constructor         // Returns function Function(){ [native code] }<button></button>
امتحان کنید

همچنین می توان با بررسی property ذکر شده دریافت آیا یک شی، Array هست یا خیر (دربردانده ی کلمه ی " Array ").

نمونه سه

1
2
3
function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
} <button></button>
امتحان کنید

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

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

در جاوا اسکریپت می توان متغیر را به یک متغیر جدید یا نوع داده ی دیگر تبدیل کرد. این کار توسط یک function (تابع( جاوا اسکریپت و یا به صورت خودکار توسط خود جاوا اسکریپت امکان پذیر می باشد.

تبدیل اعداد به رشته

متد سراسری ()String قادر است اعداد را به رشته تبدیل کند.
می توان این متد را برای هر عدد، متغیر، عبارت و یا نوشته ی متنی (literal) بکار برد.

مثال:

نمونه چهار

1
2
3
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<button></button>
امتحان کنید

متدهای مربوط به اعداد مانند ()toString نیز همین کار را انجام می دهند.

مثال:

نمونه پنج

1
2
3
x.toString()
(123).toString()
(100 + 23).toString()<button></button>
امتحان کنید

جدول زیر فهرست مختصری از توابعی که اعداد را به رشته تبدیل می کنند، ارائه داده است.

شرح
تابع
Returns a string, with a number rounded and written using exponential notation.
یک رشته دربردانده ی عدد گرد شده که با نشانه گذاری نمایی (به صورت توان) نوشته شده باشد برمی گرداند.
()toExponential
Returns a string, with a number rounded and written with a specified number of decimals.
یک رشته دربردانده ی عدد گرد و نوشته شده با نشانه گذاری نمایی که تعداد مشخصی اعشار داشته باشد بازیابی می کند.
()toFixed
Returns a string, with a number written with a specified length
یک رشته دربردارنده ی عدد که دارای طول مشخصی (تعداد معینی عدد) باشد بازگردانی می کند.
()toPrecision

تبدیل بولی به رشته

متد سراسری ()String می تواند بولی ها (متغیرهای Boolean) را به رشته تبدیل کند.

1
2
3
String(false)        // returns "false"
        String(true)         // returns "true"‎‏ ‏
<button></button>

عکس این قضیه نیز صحیح می باشد (متد بولی () toString نیز همین کار را انجام می دهد).

1
2
3
()false.toString     // returns "false"
            ()true.toString      // returns "true"‎
<button></button>

تبدیل تاریخ به رشته

متد سراسری ()string قابلیت تبدیل تاریخ (date) به رشته را دارا می باشد.

1
2
                        String(()Date)      // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight ‎Time)‎
<button></button>

نیز همین کار را انجام می دهد. ()toString ،Date method

مثال:
1
2
                       ()Date.()toString   // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe ‎Daylight Time)‎
<button></button>

توابعی که با استفاده از آن ها می توان تاریخ را به رشته تبدیل کرد، زیر با ذکر شرح فهرست شده است.

شرح
متد
شماره ی روز ماه را باز می گرداند (1-31).
()getDate
.(0-6) شماره ی روز هفته را بر می گرداند
()getDay
شماره ی سال را به صورت کامل (چهار رقمی) بازیابی می کند.
()getFullYear
مقدار ساعت را برمی گرداند.(0-23)
()getHours
تعداد یا شماره ی ملی ثانیه ها را برمی گرداند (0-999).
()getMilliseconds
اين متد شماره دقيقه را در يک متغير زمانی بر می گرادند..
()getMinutes
اين متد ، شماره ماه جاری را بر می گرداند..
()getMonth
اين متد شماره ثانيه ها را در يک متغير زمانی بر می گرادند..
()getSeconds
اين متد تعداد ثانيه های سپری شده از تاريخ یک ژانويه سال 1970 تا به تاریخ جاری را بازگردانی می نماید.
()getTime

تبدیل رشته به عدد

متد سراسری ()Number قابلیت و توانایی تبدیل رشته به اعداد را دارا می باشد.
رشته هایی که دربردارنده ی اعدادی مانند "3.14" می باشند به عدد 3.14 تبدیل می شوند.
رشته های تهی به 0 تبدیل می شوند.
هر چیز دیگری به جز دو مورد ذکر شده به NaN (Not a Number) تبدیل می شود.

1
2
3
4
5
Number("3.14")    // returns 3.14
        Number(" ")       // returns 0 
        Number("")        // returns 0
        Number("99 88")   // returns NaN‎
<button></button>

توابع زیر رشته را به اعداد تبدیل می کنند.

توضیح
متد
این متد یک رشته را parse (تجزیه) کرده و یک عدد با ممیز شناور بازمی گرداند.
()parseFloat
یک رشته را parse (تجزیه) کرده، سپس یک integer (عدد صحیح) برمی گرداند.
()parseInt

عملگر یگانی + (unary operator)

به وسیله ی این عملگر می توان یک متغیر را به عدد تبدیل کرد.

نمونه شش

1
2
var y = "5";      // y is a string
var x = + y;      // x is a number<button></button>
امتحان کنید

چنانچه امکان تبدیل متغیر وجود نداشته باشد مانند رشته " John "، متغیر ذکر شده پس از تبدیل یک عدد محسوب می شود اما مقدار NaN به آن تخصیص می یابد.

نمونه هفت

1
2
var y = "John";   // y is a string
var x = + y;      // x is a number (NaN)<button></button>
امتحان کنید

تبدیل متغیرهای بولی به عددی

تابع سراسری ()Number نیز قادر است متغیرهای بولی را به نوع عددی تبدیل کند.

1
2
3
Number(false)     // returns 0
        Number(true)      // returns 1‎
<button></button>

تبدیل نوع تاریخ به نوع عددی

می توان با استفاده از متد سراسری ()Number نوع تاریخ را به عدد تبدیل کرد.

1
2
3
d = new Date();
        Number(d)          // returns 1404568027739‎
<button></button>

متد ()getTime نیز درست همین کار را انجام می دهد.

1
2
3
d = new Date();
        d.getTime()        // returns 1404568027739‎
<button></button>

تبدیل نوع (type conversion) خودکار

هنگامی که JavaScript سعی بر اجرای عملیات بر روی یک نوع داده ی " غلط " می کند، ابتدا سعی می کند مقدار آن را به نوع صحیح تبدیل می کند. البته نتیجه ای که بدست می آید همیشه آن چیزی نیست انتظار می رود.0

نمونه هشت

1
2
3
4
5
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<button></button>
امتحان کنید

تبدیل رشته به صورت خودکار

جاوا اسکریپت به طور خودکار تابع toString() متغیرها را هنگامی که می خواهید یک شی یا متغیر خروجی شما باشد، فراخوانی می کند.

1
2
3
4
5
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"‎
<button></button>

نوع های بولی و عددی نیز تبدیل می شوند.

1
2
3
4
// if myVar = 123             // toString converts to "123"
        // if myVar = true            // toString converts to "true"
        // if myVar = false           // toString converts to "false"‎
<button></button>

جدول زیر نتیجه ی تبدیل مقادیر مختلف جاوا اسکریپت به نوع بولی، عددی، رشته ای را نمایش می دهد.

Converted
to Boolean
Converted
to String
Converted
to Number
Original
Value
false
"false"
0
false
true
"true"
1
true
false
"0"
0
0
true
"1"
1
1
true
"0"
0
"0"
true
"1"
1
"1"
false
"NaN"
NaN
NaN
true
"Infinity"
Infinity
Infinity
true
"-Infinity"
-Infinity
-Infinity
false
""
0
""
true
"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
"[object Object]"
NaN
{ }
false
"null"
0
null
false
"undefined"
NaN
undefined

مقادیری که داخل علامت " " قرار گرفته اند نشانگر مقادیر رشته هستند. مقادیری که با رنگ آبی نمایش داده شده نشانگر مقادیری است که برخی برنامه نویسان ممکن است انتظار آن را نداشته باشند.

امیدواریم که این مطلب در مورد آموزش Jquery و JavaScript برایتان مفید و مناسب بوده باشد.
در صورت داشتن هر گونه سوال، پیشنهاد و یا انتقاد حتماً از قسمت نظرات در پایین صفحه آن را برای ما ارسال کنید.

اگر تمایل دارید به سایر محتوای آموزش برنامه نویسی دسترسی پیدا کنید می توانید به آموزش های گام به گام برنامه نویسی مراجعه کنید.

از اینجا بهترین کتابهای برنامه نویسی را دریافت کنید : کتاب های آموزش برنامه نویسی


کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده بوده و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.

1394/07/27 17093 2607
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...