const关键字是什么?let、const、var的区别

const是ES6中新增的用于声明常量的关键字。所谓常量就是值(内存地址)不能变化的量。const关键字声明的常量具有块级作用域,声明常量时必须赋值,声明常量并赋值后常量的值不能修改。

1.const关键字声明的常量具有块级作用域

演示const关键字声明的常量块级作用域效果,具体代码如下:

   <script>
    if (true) {
     const a = 10;
   wconsole.log(a);      //输出结果:10
   }
   console.log(a);       //报错,a未定义
   </script>

2.const关键字声明常量时必须赋值

演示const关键字声明常量时不赋值的情况

   <script>
    const PI;//报错,常量PI未赋值
   </script>

3.const关键字声明常量并赋值后常量的值不能修改

(1)对于基本数据类型(如数值、字符串),一旦赋值,值就不可修改。

   <script>
    const PI = 3.14;
    PI=100;/∥报错,无法对常量赋值
   </script>

(2)对于复杂数据类型(如数组、对象),虽然不能重新赋值,但是可以更改内部的值。

  <script>
   const ary =[100, 200];
   ary[0] = 'a';
   ary[1] = 'b';
   console.log(ary);∥可以更改数组内部的值,结果为['a','b']
   ary=['a','b'];∥报错,无法对常量赋值
  </script>

let、const、var关键字之间的区别

变量的作用域范围不同

使用var关键字声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象。使用let关键字声明的变量和使用const关键字声明的常量都具有块级作用域。

变量提升

使用var关键字声明的变量存在变量提升,可以先使用再声明。使用let关键字声明的变量和const关键字声明的常量不存在变量提升功能,只能先声明再使用。

值是否可以更改

使用var关键字和let关键字声明的变量,可以更改变量的值,但使用const关键字声明的常量,不能更改常量值对应的内存地址。

在编写程序的过程中,如果要存储的数据不需要更改,建议使用const关键字,如函数的定义、T值或数学公式中一些恒定不变的值。由于使用const声明的常量,其值不能更改,且JavaScript解析引擎不需要实时监控值的变化,所以使用const关键字要比let关键字效率更高。

—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花