JS const常量,声明的值可以改变吗,在线编辑器

JS const

javascript中声明常量的关键词为const,js常量声明的三个注意点:

  • JS常量不能被更改,否则会抛出TypeError;
  • js常量声明的同时应当赋值,否则程序无法运行;
  • const是ES2015 引入的关键词;

JS const常量声明实例代码

<p id='example'><p>
<script>
  try{
  	const a=1;
    //a=2
    document.getElementById("example").innerHTML = a;
  }catch (err){
  	document.getElementById("example").innerHTML = err;
  }
</script>

代码解析

如上代码,在解析代码之前,可以试着将上述实例中的注释符号双斜杠“//”去掉,即常量a声明之后重新赋值为2,然后再运行一下,看一看效果,或者也可以声明a之后不赋值,再运行一下,会发现程序无法执行,甚至也不抛出Error:

代码中的try{}catch( err )是js用来捕捉Error的代码块;当try{}当中的代码出现语法Error时,将抛出Error,并通过catch()捕捉,并赋值给catch的参数err,这个在js的后期会详细介绍,这里先了解一下。


JS const常量的作用域

const和let关键词类似,声明的常量也是块级作用域,比如在函数内部声明的在函数外部是不能使用的,不过在函数外部(非另一个花括号“{}”内部)声明的则可以在函数内部使用,比如下面的实例:

<p>a=<span id='e1'></span></p>
<p>c=<span id='e2'></span></p>
<p>另一个c=<span id='e3'></span></p>
<script>
{
	const a = 1
	{	const c = 3;
		document.getElementById("e1").innerHTML = a;
 		document.getElementById("e2").innerHTML = c;
	}
	document.getElementById("e3").innerHTML = c;
}
</script>

代码解析

如上代码,最外层的花括号“{}”在阅读代码的时候可以忽略,那是为了避免编辑器的bug而添加的,如果不添加的话,修改let或const的名称或值之后,可能无法再次运行,添加之后就可以了。



全栈前端 / JavaScript语法 :





















Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.