English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
التحويل من نوع إلى نوع هو طريقة لتحويل نوع بيانات واحد إلى نوع آخر.
في 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(" ");اختبار رؤية‹/›