2022-02-14 16:09:26
浏览数 (1)
目录
- var function
- var存在的问题
- 会变量提升(先声明,不会复制)
- 没有块级作用域,是全局作用域/函数作用域
- let const
- let的优势
- 不会变量提升,不能重复被定义,不会污染全局变量
- 会和{}产生作用域
- let存在一定问题
代码语言:javascript
复制let a = 2
{
console.log(a)
let a =1
}
// undefined
- const
- let 可以重新赋值 const不能改变赋值的空间
代码语言:javascript
复制const a = 1
a = 2
// 报错
const b = []
b.push(1)
// 正常运行
- 扩展运算符
- 对任意个数求和
- 合并两个数组
- 合并两个对象
- 存在的问题(深拷贝、浅拷贝)
- 深拷贝 拷贝的不是引用地址
- ...只能展开一层是个浅拷贝,需要递归处理
- JSON.parse可以简单解决
- JSON存在一定问题
- 基于以上考虑实现一个深拷贝 ...
- 解构赋值
- 箭头函数 arrowFn
- Object.defineProperty
- proxy、reflect
- 类 class
- ES5知识
- proto 找的是所属类的原型,所有的类型
- prototype 这是原型,只有构造函数才有原型
- 继承
- 继承实例上的属性
- 继承公共属性
- Object.create
- Child.prototype = Object.create(Parent.prototype, { constructor: { value: Child } })
- ES5如何实现
- 全都要
- ES6的类
- 装饰器
- 装饰类
- 装饰类中的属性
- 装饰类中的方法
- 不能装饰函数,因为函数有变量提升
- Set/Map
- 数组的方法