شبيبة تعليمي

شبيبة المنزل مقدمة شبيبة شبيبة إلى أين إخراج 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 Const

تم constتقديم الكلمة الأساسية في ES6 (2015) .

constلا يمكن إعادة تعريف المتغيرات المعرفة بـ .

constلا يمكن إعادة تعيين المتغيرات المعرفة بـ .

المتغيرات المعرفة constبنطاق الكتلة.

لا يمكن إعادة التعيين

لا يمكن constإعادة تعيين متغير:

مثال

const PI = 3.141592653589793;
PI = 3.14;      // This will give an error
PI = PI + 10;   // This will also give an error

يجب التعيين

constيجب تعيين قيمة لمتغيرات JavaScript عندما يتم التصريح عنها:

صيح

const PI = 3.14159265359;

غير صحيح

const PI;
PI = 3.14159265359;

متى يتم استخدام JavaScript const؟

كقاعدة عامة ، أعلن دائمًا عن متغير باستخدام constما لم تكن تعلم أن القيمة ستتغير.

استخدم constعندما تعلن:

  • صفيف جديد
  • كائن جديد
  • وظيفة جديدة
  • RegExp جديد

كائنات ومصفوفات ثابتة

الكلمة الرئيسية constمضللة بعض الشيء.

لا تحدد قيمة ثابتة. يعرّف مرجعًا ثابتًا لقيمة.

لهذا السبب لا يمكنك:

  • أعد تعيين قيمة ثابتة
  • إعادة تعيين مصفوفة ثابتة
  • إعادة تعيين كائن ثابت

    ولكن يمكنك:

  • تغيير عناصر المصفوفة الثابتة
  • تغيير خصائص الكائن الثابت

المصفوفات الثابتة

يمكنك تغيير عناصر المصفوفة الثابتة:

مثال

// You can create a constant array:
const cars = ["Saab", "Volvo", "BMW"];

// You can change an element:
cars[0] = "Toyota";

// You can add an element:
cars.push("Audi");

لكن لا يمكنك إعادة تعيين المصفوفة:

مثال

const cars = ["Saab", "Volvo", "BMW"];

cars = ["Toyota", "Volvo", "Audi"];    // ERROR

كائنات ثابتة

يمكنك تغيير خصائص كائن ثابت:

مثال

// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};

// You can change a property:
car.color = "red";

// You can add a property:
car.owner = "Johnson";

لكن لا يمكنك إعادة تعيين الكائن:

مثال

const car = {type:"Fiat", model:"500", color:"white"};

car = {type:"Volvo", model:"EX60", color:"red"};    // ERROR

دعم المتصفح

الكلمة الأساسية constغير مدعومة في Internet Explorer 10 أو إصدار أقدم.

يحدد الجدول التالي إصدارات المستعرض الأولى مع دعم كامل constللكلمة الرئيسية:

Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
Mar, 2016 Oct, 2013 Feb, 2015 Sep, 2016 Mar, 2016


نطاق الكتلة

إعلان متغير بـ constيشبه let عندما يتعلق الأمر بـ Block Scope .

إن x المُعلن في الكتلة ، في هذا المثال ، ليس هو نفسه x المُعلن خارج الكتلة:

مثال

const x = 10;
// Here x is 10

{
const x = 2;
// Here x is 2
}

// Here x is 10

يمكنك معرفة المزيد حول نطاق الكتلة في فصل JavaScript Scope .


إعادة التصريح

يُسمح بإعادة تعريف متغير JavaScript varفي أي مكان في البرنامج:

مثال

var x = 2;     // Allowed
var x = 3;     // Allowed
x = 4;         // Allowed

لا يُسمح بإعادة تعريف متغير موجود varأو let متغير إلى constنفس النطاق:

مثال

var x = 2;     // Allowed
const x = 2;   // Not allowed

{
let x = 2;     // Allowed
const x = 2;   // Not allowed
}

{
const x = 2;   // Allowed
const x = 2;   // Not allowed
}

لا يُسمح بإعادة تعيين متغير موجود const، في نفس النطاق:

مثال

const x = 2;     // Allowed
x = 2;           // Not allowed
var x = 2;       // Not allowed
let x = 2;       // Not allowed
const x = 2;     // Not allowed

{
  const x = 2;   // Allowed
  x = 2;         // Not allowed
  var x = 2;     // Not allowed
  let x = 2;     // Not allowed
  const x = 2;   // Not allowed
}

يُسمح بإعادة تعريف متغير constفي نطاق آخر أو في كتلة أخرى:

مثال

const x = 2;       // Allowed

{
  const x = 3;   // Allowed
}

{
  const x = 4;   // Allowed
}

رفع كونست

varيتم رفع المتغيرات المعرفة إلى الأعلى ويمكن تهيئتها في أي وقت.

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

مثال

لابأس:

carName = "Volvo";
var carName;

إذا كنت تريد معرفة المزيد حول الرفع ، فقم بدراسة فصل JavaScript Hoisting .

المتغيرات المعرفة بـ constيتم رفعها أيضًا إلى الأعلى ، لكن لم تتم تهيئتها.

المعنى: استخدام constمتغير قبل التصريح عنه ينتج عنه ReferenceError:

مثال

alert (carName);
const carName = "Volvo";