ES6构造函数class 和 ES5构造函数语法
Posted jayreally
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6构造函数class 和 ES5构造函数语法相关的知识,希望对你有一定的参考价值。
ES5和ES6的语法功能作用完全相同,只是语法不同。
ES6的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。
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构造函数语法的主要内容,如果未能解决你的问题,请参考以下文章