传统的javascript中只有对象,没有类。它是基于原型的面向对象语言。原型对象特点就是将自身的属性共享给新的对象。
如果要生成一个对象实例,就需要先定义一个构造函数,然后通过new操作符来完成。
构造函数示例:
ES6 ---- class类
构造函数生成实例的执行过程:
1.当使用了构造函数,并且 new 构造函数(), 后台会隐式执行new Object()创建对象;
2.将构造函数的作用域给新对象,(即new Object()创建出的对象),而函数体内的this就代表 new Object() 出来的对象。
3.执行构造函数的代码。
4.返回新对象(后台直接返回);

ES6引入了Class (类),通过class关键字可以定义类。
ES6 ---- class类
应该注意的项:
1.在类中声明方法的时候,不能给该方法加上function关键字
2.方法之间不要用逗号分隔,否则会报错

类实质上就是一个函数。类自身指向的就是构造函数。ES6中的类其实就是构造函数的另外一种写法!
ES6 ---- class类
类的所有方法都定义在类的 prototype 属性上。
例:
ES6 ---- class类
也可以通过prototype属性对类添加方法。如下:
ES6 ---- class类
可以通过Object.assign方法来为对象动态增加方法
ES6 ---- class类
constructor方法是类的构造函数的默认方法,通过new命令生成对象实例时,自动调用该方法。
ES6 ---- class类
类的所有实例共享一个原型对象,它们的原型都是Person.prototype,所以__proto__属性是相等的。
ES6 ---- class类
class不存在变量提升,所以需要先定义再使用。
ES6 ---- class类

相关文章:

  • 2021-09-06
  • 2021-12-17
  • 2021-10-07
  • 2020-12-28
  • 2021-08-06
  • 2021-08-20
  • 2021-11-21
  • 2021-08-16
猜你喜欢
  • 2021-11-18
  • 2020-04-12
  • 2021-04-06
  • 2020-04-08
  • 2021-10-01
  • 2021-05-25
  • 2018-09-25
相关资源
相似解决方案