面试官问:请说一下var let const 定义变量的区别是什么
小张同学回答:var存在变量的提升的问题,也就是在一个变量被声明之前就可以被访问到,浏览器不会报错,返回的值为undefined,var没有块级作用域,但是let和const有,var定义的变量可以被重复声明,后面的值会覆盖前面的,但是let和const不可以,浏览器会报错,在全局作用域中使用var定义变量会成为window对象的属性,可以通过window访问到这个变量的值,但是let和const不会,let和const定义的变量会存在暂时性死区,const定义的变量不可被再次赋值
偷偷的告诉大家,一般前端程序员经常是用const来定义变量,用let的情况不多,用var的情况就更少了哦
最后,小张同学祝大家面试顺利哦!!!