شبيبة تعليمي

شبيبة المنزل مقدمة شبيبة شبيبة إلى أين إخراج JS بيانات شبيبة بناء جملة JS تعليقات JS متغيرات JS JS Let شبيبة كونست مشغلي JS شبيبة الحساب احالة JS أنواع بيانات JS وظائف JS كائنات JS أحداث شبيبة سلاسل شبيبة طرق سلسلة JS بحث سلسلة JS JS String Templates أرقام شبيبة طرق عدد JS صفيفات JS طرق صفيف JS ترتيب صفيف JS تكرار صفيف JS JS Array Const تواريخ شبيبة تنسيقات التاريخ JS طرق الحصول على تاريخ JS طرق تعيين تاريخ JS شبيبة الرياضيات شبيبة عشوائية شبيبة منطقية مقارنات شبيبة شروط JS مفتاح JS JS Loop For JS Loop For In. شبيبة حلقة JS لـ Of شبيبة حلقة بينما شبيبة استراحة شبيبة تكرارات مجموعات JS خرائط شبيبة شبيبة تايبوف JS نوع التحويل شبيبة Bitwise JS RegExp أخطاء JS شبيبة النطاق رفع JS وضع JS الصارم شبيبة هذه الكلمة دالة سهم JS فئات JS شبيبة شبيبة تصحيح أخطاء JS دليل أسلوب JS أفضل ممارسات JS أخطاء JS أداء JS شبيبة الكلمات المحجوزة

إصدارات JS

إصدارات JS JS 2009 (ES5) شبيبة 2015 (ES6) شبيبة 2016 شبيبة 2017 شبيبة 2018 شبيبة آي إي / إيدج تاريخ شبيبة

كائنات JS

تعريفات الكائن خصائص الموضوع طرق الكائن عرض الكائن موصلي الكائنات منشئو الكائنات نماذج الكائن كائن تكرارات مجموعات الكائن خرائط الكائن مرجع الكائن

وظائف JS

تعريفات الوظائف معلمات الوظيفة استدعاء الوظيفة استدعاء الوظيفة تطبيق الوظيفة عمليات إغلاق الوظائف

فئات JS

مقدمة عن الفصل الوراثة الطبقية فئة ثابتة

شبيبة آسينك

عمليات الاسترجاعات JS شبيبة غير متزامن وعود شبيبة شبيبة Async / انتظار

JS HTML DOM

مقدمة DOM طرق DOM مستند DOM عناصر DOM DOM HTML نماذج DOM DOM CSS الرسوم المتحركة DOM أحداث DOM مستمع أحداث DOM التنقل في DOM عقد DOM مجموعات DOM قوائم عقدة DOM

متصفح JS BOM

نافذة JS شاشة JS موقع JS تاريخ شبيبة شبيبة ملاح تنبيه منبثق لـ JS توقيت شبيبة ملفات تعريف الارتباط JS

JS Web APIs

مقدمة واجهة برمجة تطبيقات الويب واجهة برمجة تطبيقات نماذج الويب واجهة برمجة تطبيقات سجل الويب واجهة برمجة تطبيقات تخزين الويب Web Worker API واجهة برمجة تطبيقات جلب الويب واجهة برمجة تطبيقات تحديد الموقع الجغرافي على الويب

شبيبة أجاكس

مقدمة أجاكس أجاكس XMLHttp طلب AJAX استجابة AJAX ملف AJAX XML أجاكس بي إتش بي أجاكس آسيا والمحيط الهادئ قاعدة بيانات أجاكس تطبيقات أجاكس أمثلة AJAX

شبيبة شبيبة

مقدمة JSON بناء جملة JSON JSON مقابل XML أنواع بيانات JSON تحليل JSON تنسيق JSON كائنات JSON صفائف JSON خادم JSON JSON PHP JSON HTML جسون جسونب

JS مقابل jQuery

محددات jQuery jQuery HTML jQuery CSS jQuery DOM

شبيبة الرسومات

شبيبة الرسومات قماش شبيبة شبيبة بلوتلي JS Chart.js مخطط جوجل JS شبيبة D3.js

أمثلة JS

أمثلة JS JS HTML DOM إدخال JS HTML كائنات JS HTML أحداث HTML متصفح JS محرر JS تمارين شبيبة شبيبة مسابقة شهادة JS

مراجع JS

كائنات جافا سكريبت كائنات HTML DOM


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


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

  • string
  • number
  • boolean
  • object
  • function

هناك 6 أنواع من الأشياء:

  • Object
  • Date
  • Array
  • String
  • Number
  • Boolean

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

  • null
  • undefined

نوع المشغل

يمكنك استخدام 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" *
typeof null                   // Returns "object"

يرجى ملاحظة:

  • نوع بيانات NaN هو رقم
  • نوع بيانات المصفوفة هو كائن
  • نوع بيانات التاريخ هو كائن
  • نوع البيانات الفارغ هو كائن
  • نوع بيانات المتغير غير المحدد غير محدد *
  • نوع بيانات المتغير الذي لم يتم تعيين قيمة له هو أيضًا غير معرف *

لا يمكنك استخدام typeofلتحديد ما إذا كان كائن JavaScript عبارة عن مصفوفة (أو تاريخ).



البيانات البدائية

قيمة البيانات الأولية هي قيمة بيانات بسيطة واحدة بدون خصائص وطرق إضافية.

يمكن typeofللمشغل إرجاع أحد هذه الأنواع الأولية:

  • string
  • number
  • boolean
  • undefined

مثال

typeof "John"              // Returns "string"
typeof 3.14                // Returns "number"
typeof true                // Returns "boolean"
typeof false               // Returns "boolean"
typeof x                   // Returns "undefined" (if x has no value)

البيانات المعقدة

يمكن typeofللمشغل إرجاع أحد النوعين المعقدين:

  • function
  • object

يُرجع typeofعامل التشغيل "object" للكائنات ، والمصفوفات ، و null.

عامل التشغيل typeofلا يعيد "الكائن" للوظائف.

مثال

typeof {name:'John', age:34} // Returns "object"
typeof [1,2,3,4]             // Returns "object" (not "array", see note below)
typeof null                  // Returns "object"
typeof function myFunc(){}   // Returns "function"

يُرجع typeofعامل التشغيل " object" للمصفوفات لأن المصفوفات في JavaScript عبارة عن كائنات.


نوع البيانات من typeof

العامل typeofليس متغير. إنه عامل. عوامل التشغيل (+ - * /) ليس لديهم أي نوع بيانات.

ولكن ، يُرجع typeofعامل التشغيل دائمًا سلسلة (تحتوي على نوع المعامل).


خاصية المنشئ

تُرجع constructorالخاصية وظيفة المُنشئ لجميع متغيرات JavaScript.

مثال

"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 (يحتوي على الكلمة "Array"):

مثال

function isArray(myArray) {
  return myArray.constructor.toString().indexOf("Array") > -1;
}

أو حتى أبسط من ذلك ، يمكنك التحقق مما إذا كان الكائن عبارة عن دالة صفيف :

مثال

function isArray(myArray) {
  return myArray.constructor === Array;
}

يمكنك التحقق من خاصية منشئ لمعرفة ما إذا كان الكائن هو Date(يحتوي على الكلمة "التاريخ"):

مثال

function isDate(myDate) {
  return myDate.constructor.toString().indexOf("Date") > -1;
}

أو حتى أبسط من ذلك ، يمكنك التحقق مما إذا كان الكائن دالة تاريخ :

مثال

function isDate(myDate) {
  return myDate.constructor === Date;
}


غير معرف

في JavaScript ، المتغير بدون قيمة له قيمة undefined. النوع أيضًا undefined.

مثال

let car;    // Value is undefined, type is undefined

يمكن إفراغ أي متغير من خلال ضبط القيمة على undefined. سيكون النوع أيضًا undefined.

مثال

car = undefined;    // Value is undefined, type is undefined

قيم فارغة

القيمة الفارغة لا علاقة لها بها undefined.

تحتوي السلسلة الفارغة على قيمة قانونية ونوع.

مثال

let car = "";    // The value is "", the typeof is "string"

باطل

في جافا سكريبت null"لا شيء". من المفترض أن يكون شيئًا غير موجود.

لسوء الحظ ، في JavaScript ، نوع البيانات nullهو كائن.

يمكنك اعتباره خطأ في جافا سكريبت typeof nullككائن. يجب أن يكون null.

يمكنك تفريغ كائن عن طريق تعيينه على null:

مثال

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = null;    // Now value is null, but type is still an object

يمكنك أيضًا إفراغ كائن عن طريق تعيينه على undefined:

مثال

let person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = undefined;   // Now both value and type is undefined

الفرق بين غير محدد و Null

undefinednullومتساوية في القيمة ولكنها مختلفة في النوع :

typeof undefined           // undefined
typeof null                // object

null === undefined         // false
null == undefined          // true