当前位置: 首页 > Web前端 > JavaScript

es6中class的几个属性和方法以及对应的es5写法

时间:2023-03-26 23:40:34 JavaScript

概述在ES6中,class可以看作是一个语法糖,它使得对象原型的写法更加清晰,更像面向对象编程的语法。本文介绍类的几个属性和方法以及对应的ES5写法。要阅读本文,您需要掌握原型知识。推荐阅读帮助你彻底理解JS中的prototype、__proto__和constructor(图)静态属性和静态方法静态属性:class属性本身,即类内部直接定义的属性(Class.propname),不需要实例化classExample{staticnum=2;//ES7staticsum(a,b){console.log(a+b);}}等价于functionExample(){}Example.num=2;Example.sum=functionsum(a,b){console.log(a+b);};使用console.log(Example.num);Example.sum(1,2);公共属性和原型方法classExample{//原型方法sum(a,b){console.log(a+b);}}Example.prototype.num=2;//公共属性等同于functionExample(){}Example.prototype.sum=functionsum(a,b){console.log(a+b);};Example.prototype.num=2;使用letexam=newExample();console.log(exam.num);exam.sum(1,2);//3个实例属性和实例方法classExample{num=2;sum=(a,b)=>{console.log(a+b);}}等同于classExample{constructor(){this.num=2;this.sum=(a,b)=>{console.log(a+b);}}}等同于functionExample(){this.num=2;this.sum=function(a,b){console.log(a+b);}}使用letexam=newExample();console.log(exam.num);exam.sum(1,2);//3