تبدیل نوع JavaScript

Number() تبدیل به اعداد،تاریخ را به رشته تبدیل کنید تبدیل به زیرجلسه،Boolean() تبدیل به بولین.

انواع داده JavaScript

در JavaScript پنج نوع داده قابل نگهداری ارزش وجود دارد:

  • زیرجلسه (string)
  • اعداد (number)
  • بولین (boolean)
  • اشیاء (object)
  • функشن (function)

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

  • اشیاء (Object)
  • تاریخ (Date)
  • آرایه (Array)

دو نوع داده که نمی‌توانند ارزش را در بر گیرند وجود دارد:

  • null
  • undefined

عملگر typeof

شما می‌توانید typeof با استفاده از عملگرها برای تعیین نوع داده JavaScript متغیرها.

مثال

typeof "Bill"                 // برگرداند "زیرجلسه"
typeof 3.14                   // برگرداند "اعداد"
typeof NaN                    // برگرداند "اعداد"
typeof false                  // برگرداند "boolean"
typeof [1,2,3,4]              // برگرداند "object"
typeof {name:'Bill', age:62}  // برگرداند "object"
typeof new Date()             // برگرداند "object"
typeof function () {}         // برگرداند "function"
typeof myCar                  // برگرداند "undefined" *
typeof null                   // برگرداند "object"

شما خودتان امتحان کنید

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

  • نوع داده NaN است عدد.
  • نوع داده آرایه است شیء.
  • نوع داده تاریخ است شیء.
  • نوع داده null است شیء.
  • نوع داده متغیرهای تعریف نشده undefined
  • نوع داده متغیرهای غیرتعریف شده نیز undefined

نمی‌توانید typeof برای تعیین اینکه آیا یک شیء JavaScript یک آرایه (یا تاریخ) است یا خیر.

نوع داده typeof

typeof عملگر نیست. آن به عنوان عملگر در نظر گرفته می‌شود. عملگر (مثلاً + - * /بدون نوع داده وجود ندارد.

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

ویژگی constructor

constructor ویژگی به همه متغیرهای JavaScript بازگشت می‌دهد.

مثال

"Bill".constructor                 // برگرداند "function String()  { [کد بومی] }"
(3.14).constructor                 // برگرداند "function Number()  { [کد بومی] }"
false.constructor                  // برگرداند "function Boolean() { [کد بومی] }"
[1,2,3,4].constructor              // برگرداند "function Array()   { [کد بومی] }"
constructor  // برگرداند"function Object()  { [کد بومی] }"
new Date().constructor             // بازگرداندن "function Date()    { [native code] }"
function () {}.constructor         // بازگرداندن "function Function(){ [native code] }"

شما خودتان امتحان کنید

می‌توانید با بررسی constructor برای تعیین اینکه یک شیء آیا آرایه است یا خیر (شامل کلمه "Array"):

مثال

function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}

شما خودتان امتحان کنید

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

مثال

function isArray(myArray) {
    return myArray.constructor === Array;
}

شما خودتان امتحان کنید

می‌توانید با بررسی constructor برای تعیین اینکه یک شیء آیا تاریخ است یا خیر (شامل کلمه "Date"):

مثال

function isDate(myDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;
}

شما خودتان امتحان کنید

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

مثال

function isDate(myDate) {
    return myDate.constructor === Date;
}

شما خودتان امتحان کنید

تبدیل نوع JavaScript

متغیرهای JavaScript می‌توانند به متغیرهای جدید و نوع داده‌ای دیگر تبدیل شوند:

  • با استفاده از استفاده از توابع JavaScript
  • با استفاده از خود JavaScriptخودکارتبدیل

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

روش‌های جهانی تاریخ را به رشته تبدیل کنید توانایی تبدیل اعداد به رشته.

این می‌تواند برای هر نوع اعداد، متن، متغیر یا عبارت استفاده شود:

مثال

String(x)         // بازگرداندن رشته از متغیر عددی x
String(123)       // بازگرداندن رشته از متن عددی 123
String(100 + 23)  // بازگرداندن رشته از اعداد در عبارت

شما خودتان امتحان کنید

روش‌های عددی toString() همانطور که گفته شد.

مثال

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

شما خودتان امتحان کنید

درروش‌های عددیدر این فصل، شما بیشتر یاد خواهید گرفت که چگونه می‌توان از روش‌هایی برای تبدیل اعداد به رشته استفاده کرد:

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

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

روش‌های جهانی تاریخ را به رشته تبدیل کنید بولین را به رشته تبدیل کنید

می‌توان بولین را به رشته تبدیل کرد.
String(false)        // بازگشت "false"

String(true) // بازگشت "true" toString() همانطور که گفته شد.

روش‌های بولین
false.toString()     // بازگشت "false"

true.toString() // بازگشت "true"

روش‌های جهانی تاریخ را به رشته تبدیل کنید String()

رشته را به رشته تبدیل می‌کند.      

روش‌های تاریخ toString() همانطور که گفته شد.

مثال

String(Date())   

درروش‌های تاریخDate().toString()

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

رشته‌ها را به عدد تبدیل کنید

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

رشته‌هایی که شامل اعداد هستند (مثلاً "3.14") به عدد تبدیل می‌شوند (مثلاً 3.14).

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

رشته‌های دیگر به NaN(عدد نیست، عدد نیست).

Number("3.14")    // بازگشت 3.14
Number(" ")       // بازگشت 0
Number("")        // بازگشت 0
Number("99 88")   // بازگشت NaN

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

روش توضیح
parseFloat() درک رشته و بازگشت عدد اعشاری.
parseInt() درک رشته و بازگشت عددی.

پالس یک‌پارچه

یک‌پارچه + پالسقابل استفاده برای تبدیل متغیرها به اعداد:

مثال

var y = "5";      // y استرینگ است
var x = + y;      // x عدد است

شما خودتان امتحان کنید

اگر نتوانید متغیر را تبدیل کنید، همچنان به عنوان عدد باقی می‌ماند، اما مقدار آن NaN(عدد نیست):

مثال

var y = "Bill";   // y استرینگ است
var x = + y;      // x عدد (NaN)

شما خودتان امتحان کنید

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

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

Number(false)     // بازمی‌گردد 0
Number(true)      // بازمی‌گردد 1

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

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

d = new Date();
Number(d)          

روش‌های تاریخ getTime() همانطور که گفته شد.

d = new Date();
d.getTime()        

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

اگر JavaScript سعی کند یک نوع داده

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

5 + null    // بازمی‌گردد 5         زیرا null به 0 تبدیل می‌شود
"5" + null  // بازمی‌گردد "5null"   زیرا null به "null" تبدیل می‌شود
"5" + 2     // بازمی‌گردد 52        زیرا 2 به "2" تبدیل می‌شود
"5" - 2     // بازمی‌گردد 3         زیرا "5" به 5 تبدیل می‌شود
"5" * "2"   // بازمی‌گردد 10        زیرا "5" و "2" به 5 و 2 تبدیل می‌شوند

شما خودتان امتحان کنید

تبدیل به رشته

JavaScript به طور خودکار متغیر toString() تابع، وقتی شما سعی می‌کنید "خروج" را برای یک شیء یا متغیر انجام دهید:

document.getElementById("demo").innerHTML = myVar;
// اگر myVar = {name:"Fjohn"}  // toString تبدیل به "[object Object]"
// اگر myVar = [1,2,3,4]       // toString تبدیل به "1,2,3,4"
// اگر myVar = new Date()      // toString تبدیل به ""

اعداد و بول نیز تبدیل می‌شوند، اما به وضوح نیست:

// اگر myVar = 123             // toString تبدیل به "123"
// اگر myVar = true            // toString تبدیل به "true"
// اگر myVar = false           // toString تبدیل به "false"

جدول تبدیل نوع JavaScript

در جدول زیر نتایج تبدیل ارزش‌های مختلف JavaScript به عدد، رشته و بولینم نشان داده شده است:

مقدار اولیه به عدد تبدیل به رشته تبدیل به منطق تبدیل آموزش کنید
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 آموزش کنید
"بیست" NaN "بیست" true آموزش کنید
[ ] 0 "" true آموزش کنید
[20] 20 "20" true آموزش کنید
[10,20] NaN "10,20" true آموزش کنید
["بیست"] NaN "بیست" true آموزش کنید
["ده","بیست"] NaN "ده، بیست" true آموزش کنید
function(){} NaN "function(){}" true آموزش کنید
{ } NaN "[object Object]" true آموزش کنید
null 0 "null" false آموزش کنید
undefined NaN "undefined" false آموزش کنید

مقدار در نقل قول‌ها نشان‌دهنده مقدار رشته‌ای است.

مقدار قرمزاین مقدار ممکن است ارزشی باشد که برنامه‌نویسان نمی‌خواهند.