声明函数
constfoo=function(){
console.log('Hello World!');}foo();// 输出:Hello World!
声明类
classPerson{constructor(name, age){this.name = name;this.age = age;}sayHello(){
console.log(`Hello, my name is ${this.name}, I'm ${this.age} years old.`);}}const person =newPerson('John',20);
person.sayHello();// 输出:Hello, my name is John, I'm 20 years old.
在上面的例子中,我们使用const关键字声明了一个函数和一个类,这两个变量都是不可修改的常量。但是它们所指向的函数和类实例
是可以调用的,因为这些实例的属性和方法并没有被修改。
const并不是适用于所有情况的,有些场景下需要使用let或var声明变量:
循环变量
在循环中声明变量时,如果使用const会导致变量不能被重新赋值,从而无法完成循环。因此,循环变量通常使用let或var声明。
for(let i =0; i <10; i++){
console.log(i);}
需要修改变量值的情况
如果需要修改变量值,那么就需要使用let或var声明变量。
let count =0;setInterval(function(){
count++;
console.log(count);},1000);
在上述例子中,我们使用let声明了一个变量count,并且在定时器回调函数中修改了它的值。如果使用const声明count,
就无法完成这个功能。
总的来说,const是用于声明不可修改的常量,它可以提高代码的可读性和可维护性。但是在一些需要修改变量值的情况下,
需要使用let或var声明变量。
let x =1;
x =2;// 可以修改变量值
console.log(x);// 输出:2
与const相似,let声明的变量也具有块级作用域,只在当前代码块内有效。
{let x =1;
console.log(x);// 输出:1}{let x =2;
console.log(x);// 输出:2}
在上述例子中,使用let声明了两个不同的变量x,它们具有不同的作用域,互不影响。
需要注意的是,在同一个作用域中,不可以重复声明同一个变量名。
let x =1;let x =2;// 重复声明,会报错
在上述例子中,我们在同一个作用域中重复声明了变量x,会导致代码执行失败。
总的来说,let关键字用于声明块级作用域的变量,与const的不同之处在于,let声明的变量是可修改的。在使用let声明变量时,
需要注意变量的作用域和重复声明的问题。