在es5中,是不存在类的概念的,但在ES6中,为我们提供了类的使用。
1.类的声明
先声明一个最简单的coder类,类里只有一个name方法,方法中打印出传递的参数。
class coder{
name(val){
console.log(val);
}
}
2.类的使用
我们已经声明了一个类,并在类里声明了name方法,现在要实例化类,并使用类中的方法。
class Coder{
name(val){
console.log(val);
}
}
let test= new Coder;
test.name('js'); //js
3.类的多方法声明
class Coder{
name(val){
console.log(val);
return val;
}
skill(val){
console.log(this.name('js1')+'-'+'Skill:'+val);
}
}
let test= new Coder;
test.name('js');
test.skill('es6');
//js
//js1
//js1-skill:es6
这里需要注意的是方法中间不能写逗号了,否则会报错。还有这里的this指类本身。
4.类的传参
在类的参数传递中我们用constructor( )进行传参。具体constructor是什么可以看下节。传递参数后可以直接使用this.xxx进行调用。
class Coder{
name(val){
console.log(val);
return val;
}
skill(val){
console.log(this.name('jspang')+':'+'Skill:'+val);
}
constructor(a,b){
this.a=a;
this.b=b;
}
add(){
return this.a+this.b;
}
}
let test=new Coder(1,2);
console.log(test.add()); //3
5.类的继承
class Coder{
name(val){
console.log(val);
return val;
}
}
class inherit extends Coder{
}
let test=new inherit;
test.name('js'); //js
声明一个inherit的新类并继承Coder类,inherit新类里边为空,这时候我们实例化新类,并调用里边的name方法。结果也是可以调用到的。