构造函数与Class类有什么区别和联系呢?
来源:2-1 Class 是什么
正版鲜人
2022-06-12 00:36:37
老师在讲课的时候说要把Class和之前讲过的构造函数联系起来,听了几节课后确实感觉两者非常相似…然后…就有些迷糊了~~特别是构造函数往往还和prototype原型关联,Class好像混合了两者,但又有些不一样……我以前学过一点Python,之前一直不是很适应JS构造函数和原型链的语法,ES6的Class感觉和Python里的Class更接近,简洁清晰很多。
所以,我想知道:
1回答
同学你好,问题解答如下:
1、可以理解为Class是用来取代以前的构造函数的。ES6中的class语法就是ES6中构造函数的另一种写法,一种更高级的写法,Class语法的底层还是ES5中的构造函数,只是把构造函数进行了一次封装而已。ES6中推出Class的目的,主要是为了让对象原型的写法更加清晰、更像面向对象编程,让JavaScript更加的符合通用编程规范,即大部分语言对于类和实例的写法。
关于构造函数中的原型与Class类的区别,简单理解就一个是ES5语法一个是ES6语法,至于它俩之间的联系 ,在后面的课程中也有的讲解,同学可以跟着课程继续往后学习,自己再总结下笔记,加深理解与记忆。
2、由第一条可知,Class相当于构造函数的另一种写法,所以同学不用纠结什么场景使用哪个,没有硬性规定,根据自己的编码习惯,灵活应用所学知识,实现需求就可以。
祝学习愉快~
相似问题