جافا سكريبت نوع التحويل
- تحويل الجمل إلى أرقام
- تحويل الأرقام إلى سلاسل
- تحويل التواريخ إلى أرقام
- تحويل الأرقام إلى تواريخ
- تحويل القيم المنطقية إلى أرقام
- تحويل الأرقام إلى منطقية
جافا سكريبت نوع التحويل
يمكن تحويل متغيرات JavaScript إلى متغير جديد ونوع بيانات آخر:
- عن طريق استخدام وظيفة JavaScript
- تلقائيًا بواسطة JavaScript نفسها
تحويل الجمل إلى أرقام
يمكن للطريقة Number()
العامة تحويل السلاسل إلى أرقام.
السلاسل التي تحتوي على أرقام (مثل "3.14") تتحول إلى أرقام (مثل 3.14).
يتم تحويل السلاسل الفارغة إلى 0.
أي شيء آخر يتحول إلى NaN
(ليس رقمًا).
Number("3.14") // returns 3.14
Number(" ") // returns 0
Number("") // returns 0
Number("99 88") // returns NaN
طرق العدد
في الفصل طرق العدد ، ستجد المزيد من الطرق التي يمكن استخدامها لتحويل السلاسل إلى أرقام:
Method | Description |
---|---|
Number() | Returns a number, converted from its argument |
parseFloat() | Parses a string and returns a floating point number |
parseInt() | Parses a string and returns an integer |
مشغل أحادي +
يمكن استخدام عامل التشغيل أحادي + لتحويل متغير إلى رقم:
مثال
let y = "5";
// y is a string
let x = + y;
// x is a number
إذا تعذر تحويل المتغير ، فسيظل رقمًا ، ولكن بالقيمة NaN
(ليس رقمًا):
مثال
let y = "John";
// y is a string
let x = + y; // x is a number (NaN)
تحويل الأرقام إلى سلاسل
يمكن للطريقة 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()
تفعل نفس الشيء.
مثال
x.toString()
(123).toString()
(100 + 23).toString()
المزيد من الطرق
في الفصل طرق الأرقام ، ستجد المزيد من الطرق التي يمكن استخدامها لتحويل الأرقام إلى سلاسل:
Method | Description |
---|---|
toExponential() | Returns a string, with a number rounded and written using exponential notation. |
toFixed() | Returns a string, with a number rounded and written with a specified number of decimals. |
toPrecision() | Returns a string, with a number written with a specified length |
تحويل التواريخ إلى أرقام
Number()
يمكن استخدام الطريقة العامة لتحويل التواريخ إلى أرقام.
d = new Date();
Number(d) // returns 1404568027739
طريقة التاريخ getTime()
تفعل نفس الشيء.
d = new Date();
d.getTime() // returns 1404568027739
تحويل التواريخ إلى سلاسل
يمكن للأسلوب 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)"
في فصل طرق التاريخ ، ستجد المزيد من الطرق التي يمكن استخدامها لتحويل التواريخ إلى سلاسل:
Method | Description |
---|---|
getDate() | Get the day as a number (1-31) |
getDay() | Get the weekday a number (0-6) |
getFullYear() | Get the four digit year (yyyy) |
getHours() | Get the hour (0-23) |
getMilliseconds() | Get the milliseconds (0-999) |
getMinutes() | Get the minutes (0-59) |
getMonth() | Get the month (0-11) |
getSeconds() | Get the seconds (0-59) |
getTime() | Get the time (milliseconds since January 1, 1970) |
تحويل القيم المنطقية إلى أرقام
يمكن للطريقة Number()
العامة أيضًا تحويل القيم المنطقية إلى أرقام.
Number(false) // returns 0
Number(true) // returns 1
تحويل القيم المنطقية إلى سلاسل
يمكن للطريقة String()
العامة تحويل القيم المنطقية إلى سلاسل.
String(false) // returns "false"
String(true) // returns "true"
الطريقة المنطقية toString()
تفعل الشيء نفسه.
false.toString() // returns "false"
true.toString() // returns "true"
نوع التحويل التلقائي
عندما يحاول JavaScript العمل على نوع بيانات "خاطئ" ، فإنه سيحاول تحويل القيمة إلى نوع "صحيح".
النتيجة ليست دائمًا ما تتوقعه:
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
سلسلة التحويل التلقائي
تستدعي JavaScript تلقائيًا وظيفة المتغير 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"
جدول تحويل نوع جافا سكريبت
يوضح هذا الجدول نتيجة تحويل قيم JavaScript المختلفة إلى Number و String و Boolean:
Original Value |
Converted to Number |
Converted to String |
Converted to Boolean |
Try it |
---|---|---|---|---|
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 | |
"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 |
تشير القيم بين علامات الاقتباس إلى قيم السلسلة.
تشير القيم الحمراء إلى قيم قد لا يتوقعها (بعض) المبرمجون.