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的时候都手动批改,保护的多了,再解决还是很麻烦的。