构造函数与Class类有什么区别和联系呢?

来源:2-1 Class 是什么

正版鲜人

2022-06-12 00:36:37

老师在讲课的时候说要把Class和之前讲过的构造函数联系起来,听了几节课后确实感觉两者非常相似…然后…就有些迷糊了~~特别是构造函数往往还和prototype原型关联,Class好像混合了两者,但又有些不一样……我以前学过一点Python,之前一直不是很适应JS构造函数和原型链的语法,ES6的Class感觉和Python里的Class更接近,简洁清晰很多。

所以,我想知道:

  1. 构造函数、Prototype原型与Class类有什么区别和联系呢?Class是用来取代以前的构造函数和原型的吗?
  2. 构造函数与Class类分别适合什么不同的应用情景呢?
写回答

1回答

好帮手慕慕子

2022-06-12

同学你好,问题解答如下:

1、可以理解为Class是用来取代以前的构造函数的。ES6中的class语法就是ES6中构造函数的另一种写法,一种更高级的写法,Class语法的底层还是ES5中的构造函数,只是把构造函数进行了一次封装而已。ES6中推出Class的目的,主要是为了让对象原型的写法更加清晰、更像面向对象编程,让JavaScript更加的符合通用编程规范,即大部分语言对于类和实例的写法。

关于构造函数中的原型与Class类的区别,简单理解就一个是ES5语法一个是ES6语法,至于它俩之间的联系 ,在后面的课程中也有的讲解,同学可以跟着课程继续往后学习,自己再总结下笔记,加深理解与记忆。

2、由第一条可知,Class相当于构造函数的另一种写法,所以同学不用纠结什么场景使用哪个,没有硬性规定,根据自己的编码习惯,灵活应用所学知识,实现需求就可以。

祝学习愉快~

1

0 学习 · 17877 问题

查看课程