ES6构造函数class 和 ES5构造函数语法

Posted jayreally

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6构造函数class 和 ES5构造函数语法相关的知识,希望对你有一定的参考价值。

ES5和ES6的语法功能作用完全相同,只是语法不同。

ES6class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。

1. ES5语法

1 function Fun1(name,age){
2     this.name = name;
3     this.age = age;
4 }
5 Fun1.prototype.f1 = function(){
6     console.log(this.name , this.age);
7 }

 

2. ES6语法 class

constructor构造器,() 中定义的是class类的参数,在构造器中定义实例化对象的属性和属性值;

构造函数的方法, f() 也是定义在prototype中的;

 1 class Fun2{
 2     constructor(name,age){
 3         this.name = name;
 4         this.age = age;
 5     }
 6 
 7     f2(){
 8         console.log(this.name , this.age);
 9     }
10 
11 }        

 

ES5和ES6语法的区别

ES6语法定义的class类,不会被javascript预解析,不能提前调用;

ES5语法的function可以提前调用,但是只有属性可以提前调用, prototype里的方法不能提前调用,因为定义prototype是在function函数外定义的,如果提前调用函数, prototype里的方法还没执行。

 

逆战班

 

 

 

 

以上是关于ES6构造函数class 和 ES5构造函数语法的主要内容,如果未能解决你的问题,请参考以下文章

函数class 基本语法

函数class 基本语法

探索 Class 底层原理

ES6---Class基本语法

es6的class关键字与es5的构造函数

class介绍