当前位置:  开发笔记 > 编程语言 > 正文

理解JavaScript中的类关键字

如何解决《理解JavaScript中的类关键字》经验,为你挑选了1个好方法。

我最近开始学习ES6,最后认真地学习课程。我读到类只是Javascript中Objects的封面,但是,我发现语法最不舒服。

有人可以解释/指向他们在其中解释,类如何模拟的参考,更重要的是我们如何在我们的脑海中将它们映射到Javascript对象操作方式。

class NoteStore {
  constructor() {
    this.bindActions(NoteActions);

    this.notes = [];
  }
}

按照上面的示例代码,我认为类仅仅是构造函数,但是构造函数在构造函数中做什么呢?

作为开始学习Js编程的人,我发现添加类(也是React的类)对Js来说是一个可怕的添加,因此任何帮助都会很棒。

谢谢



1> deceze..:

基于经典类的编程基于定义一个类,该类包含构造函数方法和其他将由构造对象继承的方法。它的编写方式如您在示例中所示:类是用其名称定义的,然后包含一个构造函数,然后是其他函数。

类定义中的构造方法有些特殊,因为它在对象构造时被调用。由于它很特殊,因此需要以某种方式对其进行标记,并通过将其命名来完成constructor

在经典Javascript(基于原型的OOP)中,它的工作方式不同:对象构造函数是一个简单的函数,每个对象实例继承的方法都在.prototype该函数属性上的对象上定义。基于原型的OOP中的构造函数没有什么特别的,它只是一个函数,真正的魔力在于new关键字和this对象构造时的使用。

class使用构造函数方法以a 的形式表示该表达式仅适合经典OOP开发人员,并且可以提供更紧凑的语法。

class NoteStore {
  constructor() {
    this.bindActions(NoteActions);
    this.notes = [];
  }

  bindActions(actions) {
    ..
  }
}

用简单的Javascript表示的是:

function NoteStore() {
  this.bindActions(NoteActions);
  this.notes = [];
}

NoteStore.prototype.bindActions = function (actions) {
  ..
}

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有