تحويل أنواع جافا سكريبت

Number() تحويل الأرقام،String() تحويل النصوص،Boolean() تحويل القيم البوليانية.

نوع البيانات JavaScript

هناك خمس أنواع من البيانات التي يمكن أن تحتوي على قيمة في JavaScript:

  • خطي (string)
  • عددي (number)
  • بولياني (boolean)
  • عنصر (object)
  • دالة (function)

هناك ثلاثة أنواع من العناصر:

  • عنصر (Object)
  • تاريخ (Date)
  • مجموعة (Array)

هناك نوعان لا يمكن أن يحتويان على قيمة:

  • null
  • undefined

محدث typeof

يمكنك استخدام typeof استخدام محدثات لتحديد نوع المتغيرات في JavaScript.

مثال

نوع "Bill"                 // يعود "خط"
نوع 3.14                   // يعود "عدد"
نوع 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()  { [native code] }"
(3.14).constructor                 // يعود إلى "function Number()  { [native code] }"
false.constructor                  // يعود إلى "function Boolean() { [native code] }"
[1,2,3,4].constructor              // يعود إلى "function Array()   { [native code] }"
{name:'Bill', age:62}.constructor  // يعود إلى "function Object()  { [native code] }"
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 نفسهتلقائيتحويل

تحويل القيم العدديه إلى كلمات

الطريقة العالمية String() يمكن تحويل الأرقام إلى كلمات.

يمكن استخدامها مع أي نوع من الأرقام أو النصوص أو المتغيرات أو التعبيرات:

مثال

String(x)         // يعيد كلمة العدد من المتغير العددي x
String(123)       // يعيد كلمة العدد من نص 123
String(100 + 23)  // يعيد كلمة العدد من التعبير

جرب ذلك بنفسك

طرق العدد toString() بالمثل.

مثال

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

جرب ذلك بنفسك

فيطرق العددفي هذا الفصل، ستتعلم المزيد من الطرق التي يمكن استخدامها لتحويل الأرقام إلى كلمات:

الطريقة وصف
toExponential() يعيد كلمة تقوم بتقريب الرقم باستخدام نظام العدد الأساسي.
toFixed() يعيد كلمة تقوم بتقريب الرقم باستخدام عدد معين من الأرقام بعد نقطة العشرية.
toPrecision() يعيد كلمة تقوم بكتابة الرقم بطول محدد.

تحويل الحقائق إلى نصوص

الطريقة العالمية String() يمكن تحويل الحقائق إلى نصوص.

String(false)        // يعود "false"
String(true)         // يعود "true"

طرق الحقيقة toString() بالمثل.

false.toString()     // يعود "false"
true.toString()      // يعود "true"

تحويل التواريخ إلى نصوص

الطريقة العالمية String() يمكن تحويل التواريخ إلى نصوص.

String(Date())      

طريقة التاريخ toString() بالمثل.

مثال

Date().toString()   

فيطريقة التاريخفي هذا الفصل، ستجد العديد من الطرق التي يمكن استخدامها لتحويل التواريخ إلى نصوص:

الطريقة وصف
getDate() الحصول على اليوم بالنسبة للعدد (من 1 إلى 31)
getDay() أو أسبوعًا بالنسبة للعدد (من 0 إلى 6)
getFullYear() الحصول على السنة بأربعة أرقام (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 تجربة
"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 تجربة

القيمة في الأسلاك تشير إلى القيمة النصية.

القيمة الحمراءيُشير إلى القيم التي قد لا يرغب فيها بعض المبرمجين.