开发者社区> 问答> 正文

es6 static

export default class BookBox extends Component {
  static defaultProps = {
    initialBooks: [
      {
        title: 'Twilight',
        author: 'Stephanie Meyer',
        isbn: '0316015849'
      }
    ]
  };

  static propTypes = {
    initialBooks: PropTypes.array.isRequired
  };

  constructor(props) {
    super(props)
    this.state = {
      books: this.props.initialBooks
    }
  }
}

这段代码中的defaultProps 和propTypes 为什么要用static修饰? static在es6中的作用是什么? 求解答,不要给我链接,我查了不少了,没几个说的明白,都是一带而过的。最好是各位自己的理解给我说说,谢谢。

展开
收起
a123456678 2016-03-11 18:47:39 2351 0
1 条回答
写回答
取消 提交回答
  • static 定义的是类的方法只有类能调用,而普通方法是实例的方法只有类实例能调用。变量也一样。

    class A {
        static fn() {
            console.log('sss');
        }
        fn2() {
            console.log('www');
        }
    }
    
    let a = new A();
    
    a.fn(); // 报错
    A.fn();
    a.fn2();
    A.fn2(); // 报错
    2019-07-17 18:59:54
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载