本文实例讲述了ES6中Class类的静态方法。分享给大家供大家参考,具体如下:
以前看过的es6的东西,又忘了,再总结下:
类相当于实例的原型,所有在类中定义的方法,都会被实例继承。如果在一个方法前,加上方法不会被实例继承,而是直接通过类来调用,这就称为“静态方法”
rush:js;">
class Foo {
static classMethod() {
return 'hello';
}
}
Foo.classMethod() // 'hello'
var foo = new Foo();
foo.classMethod()
// TypeError: foo.classMethod is not a function
上面代码中,Foo类的classMethod方法前有static关键字,表明该方法是一个静态方法,可以直接在Foo类上调用(Foo.classMethod()
),而不是在Foo类的实例上调用。如果在实例上调用静态方法,会抛出一个错误,表示不存在该方法。
rush:js;">
class Foo {
static classMethod() {
return 'hello';
}
}
class Bar extends Foo {
}
Bar.classMethod(); // 'hello'
上面代码中,父类Foo有一个静态方法,子类Bar可以调用这个方法。
更多相关内容可查看本站专题:《》、《》、《》、《》、《》及《》
希望本文所述对大家基于ECMAScript的程序设计有所帮助。