دعنا نتعلم بعض أساسيات JavaScript الأساسية التي يجب على المطور أن يعرفها. تستخدم لغة البرمجة المفسرة هذه على نطاق واسع لتطوير تطبيقات على مستوى المؤسسة.

JavaScript المفاهيم الأساسية

ملخص

JavaScript هي لغة نصية تستخدم لتطوير تطبيقات ديناميكية على الويب. نستخدم HTML و CSS لإنشاء مواقع ويب ثابتة بينما يتم استخدام JavaScript لإضافة التفاعل. في منشور المدونة السابق لدينا ، قمنا بتغطية نموذج كائن الوثيقة والآن سنغطي بعض المفاهيم الأساسية المهمة الأخرى JavaScript . يميل مطورو الويب إلى اختيار لغة البرمجة النصية هذه بسبب ميزاتها والأطر الغنية. بالإضافة إلى ذلك ، يمكنك القيام بالتطوير في النهاية الأمامية والخلفية من خلال تعلم JavaScript. ومع ذلك ، لا يمكنك تطوير تطبيقات الويب فقط وأيضًا تطبيقات الهاتف المحمول. سيساعدك هذا البرنامج التعليمي JavaScript إذا كنت تستعد لجلسة مقابلة. ومع ذلك ، فإن هذا الدليل يستحق القراءة لإضافة المزيد إلى دلو معرفتك. سنغطي النقاط التالية في هذه المقالة:

ما هو الرفع في جافا سكريبت

تُعرف ظاهرة أخذ الوظيفة أو الإعلان المتغير أعلى النطاق الحالي باسم الرفع. هذا مفهوم حاسم للغاية ومعظم مطوري JavaScript ليسوا على دراية به. ومع ذلك ، فإن الشيء المهم الذي يجب ملاحظته هنا هو أن التصريحات الوظيفية/المتغيرة فقط يتم أخذها إلى الأعلى ، وليس الوظيفة/التهيئة المتغيرة. لنأخذ مثالاً ونرى مقتطف الرمز أدناه ؛

printResults();
function printResults(){
    console.log("hello programmers")
}
// output: hello programmers

في مثال الرمز أعلاه ، قمنا بإجراء استدعاء الوظيفة قبل إعلان الوظيفة ، ولكن على الرغم من أن الكود ينفذ بنجاح ويرجع ذلك إلى رفع جافا سكريبت. في الأساس ، خلال وقت الترجمة ، يقوم مترجم JavaScript بمسح الكود ، ويجمع جميع الوظائف/المتغيرات ، ووضعها في ذاكرة تسمى البيئة المعجمية. نفس الشيء يحدث مع المتغيرات.

name = "mustafa";
console.log(name);
var name;

وبالمثل ، تم إجراء التهيئة المتغيرة للاسم قبل إعلانها ، ويعمل الرمز دون أي خطأ. مرة أخرى ، خلال فترة الترجمة ، نظر مترجم JS في البيئة المعجمية للعثور على الإعلان المتغير وبالتالي نفذ الرمز. لذلك ، إذا أعلنت المتغيرات مع الكلمات الرئيسية Let و Const ، فإن JavaScript ستقوم برفعها بشكل مختلف قليلاً.

name = "mustafa";
console.log(name);
let name;
// Uncaught ReferenceError: Cannot access 'name' before initialization

حدث الخطأ في مقتطف الرمز أعلاه. والسبب هو أن التهيئة لم يتم أثناء رفع هذا المتغير. قصة قصيرة طويلة ، تتم تهيئة جميع الإعلانات مع “غير محدد” بينما يتم الإعلان عن المتغيرات مع “Let” أو “const” في الرفع.

نطاقات في جافا سكريبت

النطاق هو أحد مفاهيم JavaScript الأساسية التي يجب على المطور معرفتها. ومع ذلك ، فإن العمل مع JavaScript Scopes ليس واضحًا ومختلف قليلاً. لذلك ، هناك ثلاثة أنواع من النطاقات في JavaScript وهذه هي كما يلي: على مستوى الكتلة : يحتوي المتغيرات المعلنة بـ “Let” أو “const” على نطاق مستوى الكتلة.

if(true){
  let a = 1;
}
// a is not accessible outside the curly braces.

لا يمكن الوصول إلى المتغير “A” خارج أقواس مجعد {} لأنه يحتوي على نطاق على مستوى الكتلة. على مستوى الوظيفة : المتغيرات المعلنة داخل وظيفة JavaScript لها النطاق المحلي.

function innerFunc(){
        let last_name = "ashraf";
        console.log("hello "+last_name);
    }
// last_name is not accessible outside the function.

الشيء المهم الذي يجب ملاحظته هنا هو أن المتغيرات المعلنة بـ “Let” “const” و “var” لها نطاق الوظيفة داخل جسم الوظيفة. على المستوى العالمي : تصبح المتغيرات المعلنة خارج الوظيفة متغيرات عالمية. بغض النظر عما إذا كنت قد أعلنتهم باستخدام “Let” أو “const” أو “var” الكلمات الرئيسية. علاوة على ذلك ، يصبح المتغير متغيرًا عالميًا إذا تم الإعلان عنه دون استخدام أي كلمة رئيسية كما هو موضح في مقتطف الرمز أدناه:

function innerFunc(){
        last_name = "ashraf";
        console.log("hello "+last_name);
    }
// last_name is accessible outside the function too and is of global scope

إغلاق JavaScript

هذا مفهوم مهم آخر يعزز معرفتك JavaScript حول النطاقات وتغليف البيانات. في أبسط أشكال ، تُعرف وظيفة داخل دالة باسم الإغلاق. يمكنك استدعاء الوظيفة الداخلية إغلاق. هذه الوظيفة الداخلية لها ثلاثة أنواع من النطاق:

  • لديها نطاقها الخاص على مستوى الكتلة.
  • يمكنه الوصول إلى متغيرات الوالدين.
  • المتغيرات في النطاق العالمي يمكن الوصول إليها أيضًا داخل الإغلاق. دعونا نرى كيفية إنشاء إغلاق:
 function myFunction(){
    let first_name = "mustafa";
    function innerFunc(){
        let last_name = "ashraf";
        console.log("hello "+first_name+" "+last_name);
    }
    return innerFunc()
}
myFunction()
// output: hello mustafa ashraf

يمكن الوصول إلى المتغير first_name داخل الوظيفة المسمى innerfunc ولكن لا يمكن للدالة الأصل الوصول إلى متغير Last_Name. يتيح هذا السلوك للمبرمجين إنشاء متغيرات خاصة في سلسلة النطاق.

خاتمة

ننهي دليل JavaScript هذا هنا ونأمل أن يكون لديك فهم أفضل للمفاهيم الأساسية JavaScript . علاوة على ذلك ، فقد مررنا أيضًا من خلال إغلاق JavaScript ، والنطاقات في JavaScript ، ورفع. هناك العديد من المفاهيم المهمة الأخرى التي تعتبر إلزامية للمبتدئين. لذلك ، ستساعدك هذه المقالة إذا كنت تزدهر لتحسين أو تحديث مفاهيم JavaScript الخاصة بك. بالإضافة إلى ذلك ، يمكنك الذهاب إلى منشورات المدونة المذكورة في قسم “انظر أيضًا”.

اتصل بنا

أخيرًا ، يقدم Containerize.com دروسًا مستمرة في جافا سكريبت حول مختلف الموضوعات المثيرة. يمكنك البقاء في الحلقة من خلال متابعتنا على منصات الوسائط الاجتماعية لدينا ، بما في ذلك Facebook و LinkedIn و Twitter.

طرح سؤال

يمكنك إخبارنا بأسئلتك أو استفساراتك في المنتدى.

الأسئلة الشائعة

ما هي المفاهيم المهمة التي يجب تعلمها في JavaScript؟ يرجى اتباع هذا [دليل JavaScript دليل لمعرفة مفاهيم JavaScript الأساسية.

أنظر أيضا