English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي لJavaScript

أجسام JavaScript

وظائف JavaScript

JS HTML DOM

BOM للتصفح JS

دليل أساسي لAJAX

دليل مرجعي لJavaScript

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

التحويل من نوع إلى نوع هو طريقة لتحويل نوع بيانات واحد إلى نوع آخر.

في JavaScript، تستخدم أنواع البيانات لفصل نوع معين من البيانات، لتحديد القيم التي يمكن تخصيصها لهذا النوع والعمليات التي يمكن تنفيذها عليه.

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

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

  • string

  • number

  • boolean

  • object

  • function

هناك ثلاثة أنواع من الأجسام:

  • Object

  • Date

  • Array

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

  • null

  • undefined

نوع معادلة

يمكن لمعدلة typeof مساعدتك في العثور على نوع المتغير الخاص بك.

يعود معادلة typeof إلى نوع المتغير أو التعبير.

typeof ""// يعود إلى "string"
typeof "Vishal"// يعود إلى "string"
typeof "42"// يعود إلى "string" (الرقم الموجود بين الأقواس هو نص)
typeof 42  // 返回 "number"
typeof 42    // يعود "number"
typeof true// يعود "boolean"
typeof false      // يعود "boolean"
typeof undefined      // يعود "undefined"
typeof null// يعود "object"
typeof {name:"Vishal", age:22} // يعود "object"
typeof [2, 4, 6, 8]// يعود "object"    (ليس "مجموعة")
اختبار رؤية‹/›

typeof function myFunc(){} // يعود "function"

يمكنك استخدام عمليات التحقق من النوع للبحث عن نوع المتغيرات في جافا سكريبت.

تحويل النوع الإلزامي

كغة برمجة، يمكن لجافا سكريبت تحمل القيم غير المتوقعة بشكل كبير. لذلك، ستجرب جافا سكريبت تحويل القيم غير المتوقعة بدلاً من رفضها مباشرة. يُسمى هذا التحويل التلقائي بتحويل النوع الإلزامي.

على سبيل المثال، في العمليات الرياضية، يتم تحويل القيم تلقائيًا إلى أرقام.

لكن النتيجة ليست دائمًا كما تتوقعون:
"3" + 2// يعود "32"    (بسبب تحويل 2 إلى "2")
"3" - 2// يعود 1    (بسبب تحويل "3" إلى 3)
"3" * "2"      // يعود 6    (بسبب تحويل "3" إلى 3 و "2" إلى 2)
2 + true      // يعود 3    (بسبب تحويل true إلى 1)
2 + false     // يعود 2    (بسبب تحويل false إلى 0)
2 + null      // يعود 2    (بسبب تحويل null إلى 0)
اختبار رؤية‹/›

"2" + null // يعود "2null"    (بسبب تحويل null إلى "null")

في بعض الحالات، نحتاج إلى تحويل القيمة من نوع بيانات إلى نوع آخر بوضوح.

يقدم جافا سكريبت العديد من الطرق المختلفة للقيام بهذه المهمة تحويل نوع البيانات.

في الفصول التالية، سنناقش هذه الطرق بشكل مفصل.

يمكننا تحويل القيمة إلى نص باستخدامString()الدالة أوx.toString()الطريقة لتحويل القيمة بشكل صريح إلى نص.

من خلال هذاString()الدالة، سنقومtrueإرسالها كمعامل، مما يحوّل القيمة من نوع布尔ية إلى نصية:

String(true); // يعود "true"
اختبار رؤية‹/›

إلى جانب ذلك، يمكننا إرسال الرقم إلى الدالة:

String(108); // يعود "108"
اختبار رؤية‹/›

يمكننا استخدام عمليات التحقق من النوع لفحص النوع:

typeof String(true); // يعود "string"
typeof String(108); // يعود "string"
اختبار رؤية‹/›

يمكننا استخدام الطريقة المماثلة لـx.toString()الطريقة. يمكننا استبدال x بالعنصر:

let temp = 108;
temp.toString();
اختبار رؤية‹/›

أو يمكننا وضع القيمة في داخـل البارينثيز بدلاً من استخدام x.toString() لضبط العنصر:

(9048).toString(); // يعود "9048"
(false).toString(); // يعود "false"
(50 + 20).toString(); // يعود "70"
اختبار رؤية‹/›

باستخدامString()أوx.toString()يمكننا تحويل القيم من نوع البيانات Boolean أو number إلى قيمة نصية بوضوح، لضمان تشغيل شفاف لشفرتنا.

تحويل القيمة إلى نوع البيانات الرقمية

عند تحويل القيم إلى نوع البيانات الرقمية، سنستخدمNumber()الوظيفة.

أولاً، سنقوم بتحويل النص النصي الرقمي إلى رقم، ولكن يمكن أيضًا تحويل القيم الحقيقية.

يمكننا نقل نص رقمي إلىNumber()الوظيفة:

Number("1992"); // يعود 1992
اختبار رؤية‹/›

يمكننا أيضًا تخصيص النصوص للعناصر ثم تحويلها:

let debt = "3500";
Number(debt); // يعود 3500
اختبار رؤية‹/›

الفراغات أو النصوص الفارغة يتم تحويلها إلى 0 (صفر):

Number(" "); // يعود 0
Number(""); // يعود 0
اختبار رؤية‹/›

    ملاحظة، يتم تحويل النصوص غير الرقمية إلى NaN، وNaN تعنيالعدد غير المحدد. هذا يشمل الأرقام المفصولة بفواصل بيانات:

Number("seventy"); // يعود NaN
Number("Hello world"); // يعود NaN
Number("12,000"); // يعود NaN
Number("5 7"); // يعود NaN
Number("26-11-2008"); // يعود NaN
اختبار رؤية‹/›

بالنسبة لنوع البيانات الحقيقي،لـ falseالقيمة0،لـ trueالقيمة1

Number(false); // يعود 0
Number(true); // يعود 1
اختبار رؤية‹/›

إذا كان المعامل هو عنوان Date، فإنNumber()الوظيفة تعود بالألفاظ من منتصف الليل من 1 يناير 1970 UTC إلى الألفاظ في مئات الثواني:

Number(new Date());
اختبار رؤية‹/›

هذاNumber()الوظيفة تحول نوع البيانات غير الرقمي إلى رقم.

تحويل القيمة إلى قيمة بولية

لتحويل الرقم أو النص إلى قيمة بولية، استخدم دالة Boolean().

أي قيمة يتم تفسيرها على أنها فارغة (مثل الرقم 0 أو النص الفارغ أو القيمة غير المحددة أو NaN أو null) يتم تحويلها إلىfalse

Boolean(0); // يتم العودة إلى false
Boolean("");// يتم العودة إلى false
Boolean(undefined); // يتم العودة إلى false
Boolean(NaN);   // يتم العودة إلى false
Boolean(null);  // يتم العودة إلى false
اختبار رؤية‹/›

القيم الأخرى يتم تحويلها إلىtrue، بما في ذلك النصوص المكونة من مسافات فقط:

Boolean(50); // يتم العودة إلى true
Boolean(-50);// يتم العودة إلى true
Boolean(3.14);   // يتم العودة إلى true
Boolean("false");// يتم العودة إلى true
Boolean("Hello World");  // يتم العودة إلى true
اختبار رؤية‹/›

لاحظ أن " 0 " كنص سري سيعاد تحويله إلىtrue،لأنه قيمة نصية غير فارغة:

Boolean("0");   // يتم العودة إلى true
اختبار رؤية‹/›

يمكننا تحويل الأرقام والنصوص إلى قيم بولية لتحديد بيانات داخل مصطلحات ثنائية واستخدامها لتعريف تدفقات البرنامج.

تحويل الصف إلى نص

toString()تقوم الطريقة بتحويل الصف إلى نص يحتوي على قيم الصف مفصولة بالفواصل.

var months = ["Jan", "Feb", "Mar", "Apr", "May"];
document.getElementById("result").innerHTML = months.toString();
اختبار رؤية‹/›

join()وفي نفس الوقت تقوم الطريقة بتحويل جميع عناصر الصف إلى نص جديد.

سلوك هذه الطريقة يشبهtoString()، ولكن يمكنك أيضًا تحديد علامة الفصل.

var fruits = ["Banana", "Apple", "Mango"];
fruits.join(" + ");   // Banana + Apple + Mango
fruits.join(" / ");   // Banana / Apple / Mango
fruits.join(" © ");  // Banana © Apple © Mango
اختبار رؤية‹/›

عندما يتم التوقيع على القيمة الأصلية، يقوم جافا سكريبت بتحويل الصفوف تلقائيًا إلى نص مفرق بالفواصل.

عند محاولة عرض المجموعة دائمًا بهذا الشكل.

let fruits = ["Apple", "Mango", "Banana", "Orange"];
document.getElementById("result").innerHTML = fruits;
اختبار رؤية‹/›

تحويل النص إلى مجموعة

split()الطريقة لقسمنة النص إلى مجموعة من التكوينات الناتجة عنها، ثم رجوعها كعدد جديد.

سنستخدمsplit()يستخدم الطريقة لفصل التكوين إلى مجموعة من التكوينات باستخدام مسافة الفاصلة العبرية " ".

var str = 'Air Pollution is introduction of chemicals to the atmosphere.';
var arr = str.split(" ");
اختبار رؤية‹/›

الآن فيarrبفضل هذا تم إضافة مجموعة جديدة من المتغيرات، يمكننا الوصول إلى كل عنصر باستخدام رقم الفهرس:

arr[0]; // Air
arr[2]; // is
اختبار رؤية‹/›

في هذا المثال، سنستخدم "i" كدالة فصل:

var str = 'Air Pollution is introduction of chemicals to the atmosphere.';
var arr = str.split("i");
اختبار رؤية‹/›

إذا كان يتم استخدام نص فارغ (" ") كدالة فصل، فإن النص سيتم تحويله إلى مجموعة من الأحرف:

var str = 'Air Pollution is introduction of chemicals to the atmosphere.';
var arr = str.split(" ");
اختبار رؤية‹/›