var、let和const 有什么区别 ?
var 作用域为该语句所在的函数内,存在变量提升。
let 块级作用域,该语句所在的代码块内,不存在变量提升,暂时性死区,相同作用域不允许重复声明。
const 使用声明的常量(栈内存在的值和地址),值类型的不可以改,引用类型的可变,引用不可变要用Object.freeze()
【基本类型】 Boolen, Number, String 是把直接值直接存在栈内。
【引用类型】 Object(Function, Array ….)是把值存在对应的堆地址。
【变量提升】函数声明和变量声明总是会被解释器悄悄地被”提升”到方法体的最顶部。JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。
JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。ES6声明的方式?
es5: var function
es6: var function let const import classes5 普通函数和箭头函数的区别
普通函数:this指向调用它的那个对象,会自动绑定上各种变量。
=> 没有自动绑定this arguments上的各种局部变量,箭头函数中调用 this 时,仅仅沿着作用域链向上寻找,找到最近的一个 this 。箭头函数作为匿名函数,不能用new,箭头函数没有原型属性。
ES6学习笔记
最新推荐文章于 2025-01-18 20:54:12 发布