本文实例讲述了ES6类的应用。分享给大家供大家参考,具体如下:
<强>类强>
-
<李>类本身是个语法糖,主要为了考虑在编码上更加人性化李>
<李>内部有超级,静态,等关键词李>
<李>使用起来非常类似于后台语言李>
使用严格的;//用户类 类用户{ 构造函数(姓名、年龄){ this.name=名称; 这一点。年龄=年龄; } 静态getName () { 返回“用户”; } 静态getAge () { 返回this.age; } setName(名字){ this.name=名称; } setAge(年龄){ 这一点。年龄=年龄; } get info () { 返回的名字:“+ this.name + ' |年龄:' + this.age; } }//经理类 类管理器扩展用户{ 构造函数(姓名、年龄、密码){ 超级(姓名、年龄); 这一点。密码=this.password; } changePwd (pwd) { 返回。密码=pwd; } get info () { var信息=super.info;//使用超级继承父级 返回信息+ '===new '; } }//类用户:函数typeof经理:函数 控制台。日志(typeof用户:,“用户,“typeof经理:”,“经理); 让经理=新经理(“李”,22日,' 123456 '); manager.setAge (23); console.log (manager.info);//名字:李|年龄:23===new console.log (User.prototype); console.log (Manager.prototype); >之前
//构造函数 功能用户(姓名、年龄){ this.name=名称; 这一点。年龄=年龄; }//原型 用户。原型={ getName:函数(){ 返回“用户”; }, setName:函数(名字){ this.name=名称; }, getAge:函数(){ 返回this.age; }, setAge:函数(年龄){ 这一点。年龄=年龄; } }//取值函数和存执函数 Object.defineProperty (User.prototype‘信息’,{ get () { 返回的名字:“+ this.name + ' |年龄:' + this.age; } }); var=新用户(“乔”,26岁); console.log(用户);//用户{名称:“乔”,年龄:26}//子类 函数经理(姓名、年龄、密码){ 用户。调用(这名字、年龄); 这一点。密码=密码; } 经理。__proto__=用户;//继承静态方法 经理。原型=Object.create (User.prototype);//继承原型原型方法 Manager.prototype。changePwd=函数(pwd) { 这一点。密码=pwd; }; var经理=新经理(“李”,22日,' 123456 '); manager.setAge (23); console.log (manager.info);//名字:李|年龄:23 console.log (User.prototype);//不变 console.log (Manager.prototype);//{changePwd:函数(){},信息:名称:定义|年龄:无定义,__proto__:指向Manager.prototype} >之前
正常:
让用户=新类用户{ 构造函数(名字){ this.name=名称; } }(“(”); console.log(用户);//用户{名称:“乔”} >之前错误:
var=new()人;//此处报错,使用类声明的类不会被提升未捕获ReferenceError:男人没有定义 类人{ 构造函数(名字){ this.name=名称; } } >之前更多关于JavaScript相关内容可查看本站专题:《JavaScript面向对象入门教程》、《JavaScript查找算法技巧总结》,《JavaScript错误与调试技巧总结》,《JavaScript数据结构与算法技巧总结》,《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
ES6类的应用实例分析