تبدیل نوع در JavaScript

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

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

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

  • string
  • number
  • boolean
  • object
  • function

سه نوع از اشیا وجود دارد:

  • Object
  • Date
  • Array

و 2 نوع داده ای که نمی توانند شامل مقادیر باشند:

  • null
  • undefined

اپراتور typeof

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

اپراتور typeof
 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" *
typeof null                   // Returns "object" 
مشاهده مثال

لطفا توجه داشته باشید:

  • نوع داده NaN تعداد است
  • نوع داده آرایه یک شی است
    نوع داده تاریخ یک شیء است
    نوع داده null شی است
    نوع داده یک متغیر نامشخص ، نامشخص است *
    نوع داده متغیری که مقدار داده نشده است نیز نامشخص است *

نوع داده از typeof

عملگر typeof یک متغیر نیست. این یک اپراتور است اپراتورها (+ - * /) هیچ نوع داده ای ندارند

اما، عملگر typeof همیشه یک رشته (حاوی نوع عملگر) را بازگرداند.

ویژگی constructor

ویژگی constructor تابع constructor را برای تمام متغیرهای جاوا اسکریپت باز می گرداند.

ویژگی constructor
 "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]} 
مشاهده مثال

شما می توانید ویژگی constructor را بررسی کنید که آیا یک شیء آرایه است (شامل کلمه "آرایه"):

جستجوی شی در آرایه
function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}
مشاهده مثال

یا حتی ساده تر، شما می توانید بررسی کنید که آیا شیء یک تابع آرایه است:

شی در تابع آرایه
function isArray(myArray) {
    return myArray.constructor === Array;
}
مشاهده مثال

شما می توانید ویژگی constructor را بررسی کنید که آیا یک شی تاریخ است (شامل کلمه "تاریخ"):

ویژگی constructor
function isDate(myDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;
}
مشاهده مثال

یا حتی ساده تر، شما می توانید بررسی کنید که آیا شیء یک تابع تاریخ است:

تابع date
function isDate(myDate) {
    return myDate.constructor === Date;
}
مشاهده مثال

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

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

  • با استفاده از یک عملکرد جاوا اسکریپت
  •  به صورت خودکار توسط جاوااسکریپت

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

روش سراسری ()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 
مشاهده مثال

روش Number با ()toString یکسان است.

متد tostring
x.toString()
(123).toString()
(100 + 23).toString() 
مشاهده مثال

در فصل Number Methods، روش های بیشتری را می توانید برای تبدیل اعداد به رشته ها پیدا کنید:

متد
شرح
()toExponential
یک رشته را با یک عدد گرد می کند و با استفاده از نماد نمادین نوشت.
()toFixed
یک رشته را با یک عدد گرد و نوشته شده با یک عدد مشخص شده از عدد دومی باز می گرداند.
()toPrecision
یک رشته را با یک عدد با طول مشخصی نوشته می شود

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

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

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

روش Boolean به ()toString یکسان است.

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

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

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

String(Date()) // returns "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"

روش Date به ()toString یکسان است.

Date().toString() // returns "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)"

در فصل روش های تاریخ، روش های بیشتری را می توانید برای تبدیل تاریخ به رشته ها پیدا کنید:

متد
شرح
()getDate
روز را به عنوان یک شماره (1-31) دریافت کنید
()getDay
روز هفته را یک عدد (0-6)
()getFullYear
سال چهار رقمی (yyyy) را دریافت کنید
()getHours
ساعت دریافت کنید (0-23)
()getMilliseconds
دریافت میلی ثانیه (0-999)
()getMinutes
دریافت دقیقه (0-59)
()getMonth
دریافت ماه (0-11)
()getSeconds
دریافت ثانیه (0-59)
()getTime
دریافت زمان (میلی ثانیه از اول ژانویه 1970)

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

روش سراسری ()number می تواند رشته ها را به اعداد تبدیل کند

رشته هایی حاوی اعداد (مانند "3.14") به اعداد تبدیل می شوند (مثل 3.14).

رشته های خالی به 0 تبدیل می شوند.

هر چیز دیگری به NaN تبدیل می شود (نه یک عدد).

Number("3.14") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN

در فصل Number Methods، روش های بیشتری را می توانید برای تبدیل رشته ها به اعداد پیدا کنید:

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

اپراتور +Unary

اپراتور +unary می تواند برای تبدیل یک متغیر به یک عدد استفاده شود:

Unary
 var y = "5";      // y is a string
var x = + y;      // x is a number 
مشاهده مثال

اگر متغیر را نمی توان تبدیل کرد، هنوز یک عدد تبدیل می شود، اما با مقدار NaN (نه یک عدد):

NaN
 var y = "John";   // y is a string
var x = + y;      // x is a number (NaN) 
مشاهده مثال

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

روش سراسری ()Number همچنین می تواند بولین ها را به اعداد تبدیل کند.

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

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

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

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

روش ()getTime همانند است.

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

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

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

نتیجه همیشه چیزی نیست که انتظار دارید:

تبدیل خودکار نوع
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"

اعداد و booleans نیز تبدیل می شوند، اما این بسیار قابل مشاهده نیست:

// if myVar = 123 // toString converts to "123"
// if myVar = true // toString converts to "true"
// if myVar = false // toString converts to "false"

 

نظر شما

لطفا نام و نام خانوادگی خود را وارد کنید
لطفا ایمیل خود را وارد کنید لطفا ایمیل صحیح وارد کنید.
لطفا متن نظر خود را وارد کنید
>

یادگیری JavaScript

مقالات و دروس

به خبرنامه مدرسه طراحی وب ایران (وب مهراز) بپیوندید.

لطفا شماره همراه صحیح وارد کنید.
لطفا ایمیل صحیح وارد کنید.

مقالات مرتبط