var,let,const的区别

mac2024-05-23  36

定义的区别:

var 和 let一般用来定义变量,而const用来定义常量

初始值的区别

var 和 let可以不用给初始值(不给值的情况下默认是undefined),而const定义的是常量,后续的值是不变的,所以使用时必须给定值

作用域的区别:

var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。

let定义的变量,只能在块作用域( 块作用域即 { })里访问,不能跨块访问,也不能跨函数访问。

const只能在块作用域里访问,而且不能修改。这里有一个要注意的地方: const定义的常量是不能被赋值操作的,而在下面这种情况下,const定义了一个对象,属性却可以被修改:

const obj = { name: 'a', age: 18 }; obj.name = 'b'; // 这里是可以改变obj属性的 console.log(obj);

const obj = { name: 'a', age: 18 }; obj = {}; // 直接赋值操作会报错,无法被指派给obj,因为它是常量

最新回复(0)