JavaScript之class的应用

工作中咱们常常须要创立一个object,除了常见的间接定义,还有用构造函数。而class实际上也是构造函数,只不过它是在构造函数上的一层包装。

明天就简略介绍些class的用法并举一个简略的例子。

一、类的申明

要应用到关键字class

举个例子

class DataBase { constructor(length,keys,values){   this.data = []   for(let i = 0;i<length;i++){     this.data.push(this.createObjectByArray(keys,values))   } } createObjectByArray(keys,values){    let obj = {}    keys.forEach((key,index)=>{      obj[key] = values[index]    })    return obj } getValue(key,index){   return this.data[index][key] } update(key,value,index){   this.data[index][key] = value } query(filterFn){   return this.data.filter(filterFn) } get(index){   return this.data[index] } static test(){   return 'test' }}

咱们通过class关键字定义了一个DataBase的类

这个类在构建时须要传入三个参数,length、keys、length

构件时创立数组并通过调用外部的createObjectByArray办法初始化data

一个类只有一个constructor办法,外面专门用于创立和初始化一个由class创立的对象。

createObjectByArray、getValue等办法则是其原型办法

后面有static关键字的则是静态方法

静态方法的应用不须要实例化该类,通常用于为一个应用程序创立工具函数(总结起来就是在对于输入-输入十分固定且也不须要和类外面其余的数据绑定的利用场景,没有必要应用实例化办法。)

有趣味的同学能够试试下面办法,上面举一个简略例子:

const myData = new DataBase(6,['name','age'],[null,null])myData.update('name','Tom',0)

通过类的形式,能够让逻辑、构造显得更加清晰,而不是说我每次保护一个Array的时候都手动批改,保护的多了,再解决还是很麻烦的。