在ES6之前,JS只能用var来声明变量。但随着ES6的发布,let和const也正式加入到JS中。相对于var,let拥有了块级作用域,可以更好地解决变量污染的问题。同时,let也可以避免了变量提升的问题,且在使用时必须先声明再使用,避免了不必要的错误。
但在某些情况下,如需要频繁修改的变量时,var可能会更为合适。因此,要根据实际需求,选择合适的声明方式。