欢迎光临散文网 会员登陆 & 注册

TS/JS---const、let、var的区别和适用场景

2023-09-01 14:07 作者:会飞的蜗牛007  | 我要投稿

在ES5及之前的JavaScript版本中,通常使用var关键字声明变量。

var对作用域的限制相当错乱,这里指的错乱不是var本身,而是编写层次上的。举个例子,变量的作用域限制在声明的函数内部,如果在函数外部访问,将会报错,这个归类于函数作用域。然而变量声明如果被提升到作用域的顶部,无论声明语句在哪里,都会被视为在作用域的开始处声明的,如果代码量过大,这很考验开发者的能力(对于个人来说是记忆和逻辑上的折磨)。更不用说在同一个作用域内,可以多次使用var声明同一个变量,后面的声明会覆盖前面的。这些var的特性常常导致意外的bug。为了解决这些问题,ES6引入了letconst

let: 块级作用域的变量声明方式

let是在ES6的新特性。

1.let声明的变量仅在其作用域内有效,如果在外部访问会报错。这种特性使得代码更容易维护。

2.同一个作用域内不可以多次使用let声明同一个变量,否则会报错。

3.let只有在声明语句之后才能使用。

这种特性使开发者可以更好地控制变量的作用范围,逻辑更清晰,可读性更好,定位错误也会比较容易。

const: 同样具有块级作用域

const关键字也是在ES6中引入的新特性,与let相似。

使用const声明的变量是常量,意味着一旦被赋值后,就不能再修改。常量的命名通常使用全大写字母,并采用下划线分隔单词。其他特性和let 一样。

常量的不可修改性可以避免错误的赋值操作,提高代码的可靠性。


总结:

letconst声明变量已经足够应付大大部分场景,而且它们更安全、更易于维护。只有在特殊情况下(例如需要在函数作用域内声明变量),才使用var,个人是尽量不使用,在down一些老的源码时也会根据情况尽量的把var修改为let 或const

TS/JS---const、let、var的区别和适用场景的评论 (共 条)

分享到微博请遵守国家法律