在初学JS的过程中,最开始我只知道定义变量的关键字只有var,后来在《学习Javascript数据结构与算法》一书中,还发现了还有const、let可以用来声明变量。后来又查了相关资料,便整理出了我的第一篇有关JS的文章。
1.var
在ES5之前,我们可以在代码中任意位置声明变量,甚至重写已经声明的变量,比如:
这是我在vscode编辑器上写的三行代码,上面代码在控制台上的输出是Alice,该值被赋给最后声明的name变量。因此可以说明var定义的变量可以修改。但是,如果只用var声明而不赋值的话,将会输出undefined,但不会报错。如:
最后输出:
2.const
ES6引入了const关键字,用const声明的变量是只读的,而且必须初始化。不可以修改,也就是常量。
3.let
let跟const一样,同一个变量不可以重新声明,但是可以不用初始化(只用let声明但不赋值)。
且let是块级作用域,在函数内部声明的变量只在代码块内有效。
抛出错误:
因本人为初学者,可能一些地方不完善或有错误,欢迎指出!