Let const与作用域
LET
1.在块作用域中创业板在let或者const命令,在用这些关键字声明之前该变量不能使用,否则报错
2.Let 不允许重复声明 var可以重复声明
3.Let和var不能重复声明一个相同变量
作用域
作用域链
1.每一段JS代码都有一个与之关联的作用域链
2.查找变量时会从当前作用域随作用域链向上查找,直到全局作用域也没有找到时则报错
3.Let为JS 新增了块作用域,一个{}即为一个块作用域 ES6允许块级作用域任意嵌套
4.内层作用域可以定义与外层作用域同名变量
Const
- 声明一个只读常量,一旦声明,其值不能改变且必须立即初始化
原始值与引用值
动态属性 - 原始值表示单一的数据,不可以改变
保存原始值的变量时按值访问,操作存储在变量内存中的实际值 - 引用值表示有多个值(原始值或其他引用值)构成的对象,可以随时增,添,删,改其属性和方法
ES不允许直接访问对象内存空间
实际操作对象时,访问的是保存对象的内存地址,即该对象的引用。
- 原始值不能有属性
确定类型
- typeof确定原始值类型
- instanceof操作符,判断引用值是否为某个构造函数的实例
原始值包装类型