Number() تحويل إلى رقم، String() تحويل إلى سلسلة Boolean() يتحول إلى قيمة منطقية.
أنواع البيانات جافا سكريبت
في جافا سكريبت هناك 5 أنواع مختلفة من البيانات التي يمكن أن تحتوي على قيم:
- string
- number
- boolean
- object
- function
هناك 3 أنواع من الكائنات:
- Object
- Date
- Array
وأنواع البيانات 2 لا يمكن أن تحتوي على قيم:
- null
- undefined
و 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 (if myCar is not declared)
typeof null
// Returns object
انها محاولة لنفسك » يرجى ملاحظة:
- نوع بيانات NaN هو رقم
- نوع البيانات من array هو كائن
- نوع البيانات من date هو كائن
- نوع بيانات null هو كائن
- نوع البيانات من undefined متغير غير معرف
لا يمكنك استخدام typeof لتحديد ما إذا كان الكائن جافا سكريبت صفيف (أو التاريخ).
نوع بيانات typeof
و typeof المشغل ليس متغير. وهي المشغل. المشغلين ( + - * / ) ليس لديهم أي نوع البيانات.
ولكن، و typeof مشغل دوما بإرجاع سلسلة تحتوي على نوع من المعامل.
و 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] }
انها محاولة لنفسك » يمكنك التحقق من الملكية منشئ لمعرفة ما إذا كان الهدف من ذلك هو صفيف (يحتوي على كلمة "Array" ):
مثال
function isArray(myArray) {
return myArray.constructor.toString().indexOf("Array") > -1;
}
انها محاولة لنفسك » يمكنك التحقق من الملكية منشئ لمعرفة ما إذا كان الكائن هو تاريخ (يحتوي على كلمة "Date" ):
مثال
function isDate(myDate) {
return myDate.constructor.toString().indexOf("Date") > -1;
}
انها محاولة لنفسك » جافا سكريبت نوع التحويل
ويمكن تحويل المتغيرات جافا سكريبت لمتغير جديد ونوع بيانات آخر:
- عن طريق استخدام وظيفة جافا سكريبت
- تلقائيا باستخدام جافا سكريبت نفسها
تحويل الأرقام إلى سلاسل
طريقة العالمية 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
انها محاولة لنفسك » طريقة عدد toString() يفعل نفس الشيء.
في الفصل طرق عدد ، وسوف تجد المزيد من الأساليب التي يمكن استخدامها لتحويل الأرقام إلى سلاسل:
طريقة | وصف |
---|---|
toExponential() | بإرجاع سلسلة، مع عدد تقريب ومكتوبة باستخدام الأسية. |
toFixed() | بإرجاع سلسلة، مع عدد تقريب ومكتوبة مع عدد محدد من المنازل العشرية. |
toPrecision() | بإرجاع سلسلة، مع عدد مكتوبة مع طول المحدد |
تحويل القيم المنطقية لسلاسل
طريقة العالمية String() يمكن تحويل القيم المنطقية إلى سلاسل.
String(false) // returns "false"
String(true) // returns "true"
طريقة منطقية 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)
التاريخ أسلوب toString() يفعل نفس الشيء.
مثال
Date().toString() // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
في الفصل طرق التسجيل ، وسوف تجد المزيد من الأساليب التي يمكن استخدامها لتحويل التواريخ إلى سلاسل:
طريقة | وصف |
---|---|
getDate() | الحصول على يوم وعدد (1-31) |
getDay() | الحصول على أيام الأسبوع رقم (0-6) |
getFullYear() | الحصول على السنة أربعة أرقام (س س س س) |
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") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN
في الفصل طرق عدد ، وسوف تجد المزيد من الأساليب التي يمكن استخدامها لتحويل السلاسل إلى أرقام:
طريقة | وصف |
---|---|
parseFloat() | يوزع سلسلة وإرجاع عدد النقطة العائمة |
parseInt() | يوزع سلسلة وتقوم بإرجاع عدد صحيح |
وأحادي + مشغل
وأحادي + المشغل يمكن استخدامها لتحويل المتغير إلى عدد:
إذا لا يمكن تحويل المتغير، فإنه لا يزال يصبح العدد، ولكن مع قيمة نان (ليس عدد):
تحويل القيم المنطقية إلى أرقام
طريقة العالمي Number() يمكن أيضا تحويل القيم المنطقية إلى أرقام.
Number(false) // returns 0
Number(true) // returns 1
تحويل التواريخ إلى أرقام
طريقة العالمي
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"
يتم تحويل الأرقام والقيم المنطقية أيضا، ولكن هذا ليس واضحا جدا:
// if myVar = 123 // toString converts to "123"
// if myVar = true // toString converts to "true"
// if myVar = false // toString converts to "false"
الجدول جافا سكريبت نوع التحويل
هذا الجدول يبين نتيجة تحويل القيم جافا سكريبت مختلفة لعدد، سلسلة، ومنطقية:
أصلي القيمة | تحويله إلى رقم | تحويله إلى سلسلة | تحويله لمنطقية | جربها |
---|---|---|---|---|
false | 0 | "false" | false | جربها " |
true | 1 | "true" | true | جربها " |
0 | 0 | "0" | false | جربها " |
1 | 1 | "1" | true | جربها " |
"0" | 0 | "0" | 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 | جربها " |
القيم في الاقتباس وتشير قيم السلسلة.
وتشير القيم الحمراء القيم قد (بعض) المبرمجين لا يتوقع.