美文网首页重学es6
class讲解之5 静态方法

class讲解之5 静态方法

作者: zhang463291046 | 来源:发表于2020-08-07 09:57 被阅读0次

以下内容是引用或者借鉴别人的,自己只是做个笔记,方便学习。理解错误的地方,欢迎评论。如有侵权,私聊我删除,未经允许,不准作为商业用途

在一个方法前,加上static关键字,这就称为“静态方法”。该方法是直接通过类来调用,不会被实例继承

class Foo {
  static classMethod() {
    return 'hello';
  }
}

Foo.classMethod() // 'hello'

var foo = new Foo();
foo.classMethod()
// TypeError: foo.classMethod is not a function
image.png

静态方法包含this关键字,这个this指的是类,而不是实例

class Foo {
  static bar() {
    this.baz();  // this指Foo
  }
  static baz() {
    console.log('hello');
  }
  baz() {
    console.log('world');
  }
}
Foo.bar() // hello

// 等同
let Foo = function() {};
Foo.bar = function() {
  this.baz(); // this指Foo
};
Foo.baz = function() {
  console.log("hello");
};
Foo.prototype.baz = function() {
  console.log("world");
};
Foo.bar() // hello

相关文章

网友评论

    本文标题:class讲解之5 静态方法

    本文链接:https://www.haomeiwen.com/subject/qcebrktx.html