انتقل إلى محتوى الدرس

JavaScript Block scope with curly braces المتغيرات التي تعرف بداخل الاقواس المجعدة

ستتعلم في هذا الدرس أستخدام النطاقات JavaScript Scope مع المتغيرات ,وسوف تتعلم الفرق بين أنواع النطاقات Function Scope ,Block Scope,Global Scope عند الأعلان عن أي متغير,ايضاً سنتعلم الكُتل البرمجية block statement وعلاقتها بالمتغيرات والفرق بين المتغيرات المُعلن عنها بكلمة var,let,const keword داخل الكُتل البرمجية في لغة جافا سكريبت.

1 صفوف تعليمية
جافا سكريبت
4,915 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تختلف المُتغيرات Variables التي تُعرف بداخل الكتل البرمجية Block Scope في بيئات البرمجة علي حسب الكلمة keywords تختلف var عن let عن const ، في لغة جافا سكريبت المُتغيرات Variables المُعلن عنها داخل Block Scope يتم قرائتها خارج Block Scope ولكن باختلاف بسيط.


الاختلاف بين المتغيرات المعلن عنها داخل وخارج الكتل البرمجية Block Scope؟

  • المتغيرات المعلن عنها بكلمة var keyword ليس لها كتلة برمجية block scope.

اي أن المتغيرات المعلن عنها بكلمة var keyword اعلي وخارج الكتل block scope عندما يتم اعادة الأعلان عنها أسفل وداخل block scope سوف تتبدل قيمتها بالقيمة الجديدة.

  • المتغيرات المعلن عنها بكلمات const,let keyword لها كتلة برمجية block scope.

    اي أن المتغيرات المعلن عنها بكلمات const,let keyword اعلي وخارج الكتل block scope عندما يتم اعادة الأعلان عنها أسفل وداخل block scope فأنها تعد متغير جديد مرئي فقط داخل block scope وخارجه متغير مختلف.

    var keyword

    المتغيرات المعلن عنها بكلمة var keyword هي اعادة اعلان بداخل الكتل البرمجية block scope.

    HTML
    var x = 10;
    {
      var x = 3;
    }
    /* x here equal 3 */
    document.write(x);

    let keyword

    المتغيرات المعلن عنها بكلمة let keyword هي متغير مختلف عن المعلن عنه خارج الكتل البرمجية block scope.

    HTML
    let x = 10;
    {
      let x = 3;
      /* x here equal 3 */
      document.write("inside block scope " + x + "<br>");
    }
    /* x here equal 10 */
    document.write("outside block scope " + x );

    let keyword global scope

    المتغيرات المعلن عنها بكلمة let keyword لها global scope اي أن المتغير المُعلن عنه خارج الكتل البرمجية block scope يكون له نطاق عام.

    HTML
    let x = 10;
    {
      /* x here equal 10 */
      document.write("inside block scope " + x + "<br>");
    }
    /* x here equal 10 */
    document.write("outside block scope " + x );

    const keyword

    المتغيرات المعلن عنها بكلمة const keyword هي متغير مختلف عن المعلن عنه خارج الكتل البرمجية block scope.

    HTML
    const X = 10;
    {
      const X = 3;
      /* x here equal 3 */
      document.write("inside block scope " + X + "<br>");
    }
    /* x here equal 10 */
    document.write("outside block scope " + X );