مشخصات مقاله
آموزش توابع تبدیل نوع در جاوا اسکریپت
تبدیل نوع در جاوا اسکریپت / 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 نیز همین کار را انجام می دهند.
مثال:جدول زیر فهرست مختصری از توابعی که اعداد را به رشته تبدیل می کنند، ارائه داده است.
یک رشته دربردانده ی عدد گرد شده که با نشانه گذاری نمایی (به صورت توان) نوشته شده باشد برمی گرداند.
یک رشته دربردانده ی عدد گرد و نوشته شده با نشانه گذاری نمایی که تعداد مشخصی اعشار داشته باشد بازیابی می کند.
یک رشته دربردارنده ی عدد که دارای طول مشخصی (تعداد معینی عدد) باشد بازگردانی می کند.
تبدیل بولی به رشته
متد سراسری ()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> |
توابعی که با استفاده از آن ها می توان تاریخ را به رشته تبدیل کرد، زیر با ذکر شرح فهرست شده است.
تبدیل رشته به عدد
متد سراسری ()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> |
توابع زیر رشته را به اعداد تبدیل می کنند.
عملگر یگانی + (unary operator)
به وسیله ی این عملگر می توان یک متغیر را به عدد تبدیل کرد.
چنانچه امکان تبدیل متغیر وجود نداشته باشد مانند رشته " 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> |
جدول زیر نتیجه ی تبدیل مقادیر مختلف جاوا اسکریپت به نوع بولی، عددی، رشته ای را نمایش می دهد.
to Boolean
to String
to Number
Value
مقادیری که داخل علامت " " قرار گرفته اند نشانگر مقادیر رشته هستند. مقادیری که با رنگ آبی نمایش داده شده نشانگر مقادیری است که برخی برنامه نویسان ممکن است انتظار آن را نداشته باشند.
امیدواریم که این مطلب در مورد آموزش Jquery و JavaScript برایتان مفید و مناسب بوده باشد.
در صورت داشتن هر گونه سوال، پیشنهاد و یا انتقاد حتماً از قسمت نظرات در پایین صفحه آن را برای ما ارسال کنید.
اگر تمایل دارید به سایر محتوای آموزش برنامه نویسی دسترسی پیدا کنید می توانید به آموزش های گام به گام برنامه نویسی مراجعه کنید.
از اینجا بهترین کتابهای برنامه نویسی را دریافت کنید : کتاب های آموزش برنامه نویسی
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده بوده و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.