JavaScript Const关键词

JavaScript Const关键词

ES6引入了 const 关键词,用于定义JavaScript中的新变量。通常,使用 var 关键词声明JavaScript变量。当您不希望在整个程序中更改变量的值时,使用 const 关键词声明变量。

唯一的区别在于,var用于普通变量声明,其值可以更改,而使用const关键词声明的变量值不能更改。

Const变量声明/初始化

以下是const变量声明和初始化的语法或简单代码。

<script>
     const x = 16;
     document.write("The value of const variable x = " + x);
</script>

输出

它将显示常量变量x的值,不会出现任何错误。

The value of const variable x = 16

现在,我们将讨论使用const定义的变量的一些属性。

属性

以下是 const 变量的属性:

  1. 使用const关键字定义的变量不能被重新分配,或其值不能被更改。
  2. const变量必须在声明时用变量名初始化,例如, const x=6;
  3. 你不能在声明后为变量提供值。
  4. const变量的值不能被更改。
  5. const变量具有块作用域。这意味着同一程序中的const变量可以通过相同的名称在不同的块中被重新分配并具有不同的值。
  6. const变量不能被提升,这意味着使用var关键字声明/初始化的变量不能使用const进行重新分配。
  7. 在JavaScript中,const只允许你修改数组的值,但不能更改对数组的引用。
  8. const变量只创建对值的引用。
  9. 对象的属性可以被更改,但对象的引用不能被更改。

示例

在这里,我们有一些用于实际解释不同属性的示例。

示例1: 通过这个示例,你将看到 const变量不能被重新分配

<script>
     const x = 16;
     x = 23;      //Type Error
</script>

输出

它会生成一个 类型错误 因为不可能将值重新分配给一个常量变量。

JavaScript error: Uncaught TypeError: Assignment to constant variable. on line 3

示例 2: 在这个示例中,您将了解到 常量变量包含块范围

<script>
     const x = 16;
     {
         const x = 23;
         document.write("Block2: x = " + x);                   //23
         {
               const x = 74;
               document.write( "<br> Block3: x = " + x);       //74
         }
         {
               const x = 49;
               document.write("<br> Block4: x = " + x);        //49
         }
     }
     document.write("<br> Block1: x = " + x);                  //16
</script>

输出

通过执行上述代码,不会出现任何错误。它只会打印不同代码块中x的值,没有任何语法或类型错误。

Block2: x = 23
Block3: x = 74
Block4: x = 49
Block1: x = 16

示例3: 这个示例将描述常量变量不能被提升。

<script>
     x = 16;
     document.write(x);
     const x;     //Syntax Error
</script>

输出

它将会产生一个 语法错误 ,因为不允许重新声明一个变量。

JavaScript error: Uncaught SyntaxError: Missing initializer in const declaration on line 4

示例4: 这个示例将向您展示,在声明后无法对常量变量进行初始化。

<script>
     const x;
     x = 18;    //Syntax Error
     document.write(x);
</script>

输出

它会产生一个 语法错误 ,因为在const变量的声明之后不允许初始化。

JavaScript error: Uncaught SyntaxError: Missing initializer in const declaration on line 2

示例5: 在JavaScript中,const允许您仅修改数组的值,但不能更改对数组的引用。

<script type="text/javascript"> 

    // initilize an const array
    const nameArray = [" Aparna", " Manya", " Amayra", " Jahnavi"]; 

    //display the value of array
    document.write(nameArray.toString()); 
    document.write("</br> </br>");

    //change the value of array at index 2
    nameArray [1] = " Krishna"; // possible 

    //Again, display the array with new values
    document.write(nameArray.toString()); 
</script>

输出

在这里,您可以看到 Manya 名字已被替换为 Krishna 。尽管数组是使用 const 关键字声明的。所以,在两次输出中都会显示数组的所有值,没有任何错误。

Aparna, Manya, Amayra, Jahanvi
Aparna, Krishna, Amayra, Jahanvi

示例6: 在这个示例中,我们将向您展示const变量的值不能被改变或修改。

<script> 
    //declare and initialize an array of const
    const employee = { 
        fname: "Annie", 
        lname: "Roy", 
        age: 22, 
        profession: "Web Developer"
    }; 

    document.write(employee); 

    // This can be done with const array
    employee.fname = "Emmy"; 
    employee.lname = "Jackson"; 
    employee.Age = 24; 
    employee.profession = "QA Analyst"; 

    document.write(employee); 

    // This cannot be possible with const array 
    /* const employee = { 
         "fname": "Emmy", 
         "lname": "Jackson", 
         "age": 24, 
         "profession": "QA Analyst" 
    }  */
</script>

输出

在这里,您可以看到您不能通过相同的名称重新初始化对象的值,但是可以通过使用它们的引用来更改对象的值。

[object object] [object object] 

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程