ES6知识点的解析

69 阅读3分钟

let 和 const 的区别

es6 新增的for of 可迭代的for循环

新增可以遍历数组,或者是对象的一种方式

for(let item of list) { 访问一个item }

在这里有++ 的操作

如果在里面使用const 的话就是不能使用的

暂时性死区的概念

在声明之前,变量都是无法访问的

暂时性的死区概念

也就是先定义,后使用

image.png

在使用let const 声明变量之前是不能使用未定义的变量,这个就是暂时性的死区概念

image.png

var会在window上面添加属性

image.png

javasscript 中是没有这个块级作用域的

这个都是历史的遗留问题

引入一些面试题来考大家的功底

这里没有写继承的话,就是继承Object类的

class Person extends Person { 我们可以继承系统的类

这里默认是继承Object 的类 }

image.png

我们可以继承一个类

当我们调用这方法的时候,这个this就绑定调用的对象了

class HYArray extends Array { firstItem() { return this[0] } }

扩展继承内置的类

proto = prototype

利用技巧来进行类的混入 mixin 是只支持单继承的,也就是只能有一个父类

那么在开发中我们需要在一个类总添加更多类似的功能的时候

使用混入

类是不能继承多个父类,称之为单继承

比如说C语言支持多继承的,在java中只会支持单继承

继承Object,或者是Person

对于新的类就可以进行一个混入的操作

这个就是汇入的一种方式,但是这种方式有一种弊端

image.png

这里有一种混入mixin的方法,我们想要在这里实现多继承,可以使用类的混入

但是mixin 不是一种语法而是javascript 的技巧

在react中的高阶组件,这个react非常的灵活,也就是react更加接近于

原生js的开发Vue已经封装好了

react 里面十分的灵活,更加贴近于原生的开发,这个是一把双刃剑,在Vue中不好实现的功能在react中可以灵活的实现

react 上手的难度很好,并且使用起来,非常的容易出现错误,如果说javascript 的功底不深的话,是很难写react

比如说我们这里的组件叫做topBanner,我们需要使用两种父类的话

这里就简单阅读一下源码里面的内容

状态的管理,状态就是数据,组件之间的数据的传递共享

但是组件多起来后,维护管理起来就会非常的麻烦,我们就需要将组件集中的进行管理

这个函数的内容是怎么来进行实现的

在组件里面进行增强的操作

如果别的地方想用的时候就是新的组件,将里面的topBanner,返回的是自动增强的组件

connetCtrl 用到很多的技巧

(函数柯里化,纯函数,mixin函数混入),这个也是class类似的东西

image.png

在react中有这样的一个技巧的

这里是一种方式,这里实现方式,对于这样的一个东西进行了一个维护

(掌握实现react中的一个技巧),在react 中是对于react进行了一个增强的操作

给react添加了很多的属性,增加了很多运用的场景