小编给大家分享一下ES6中类和对象的示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
公司主营业务:成都网站设计、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出丹徒免费做网站回馈大家。1.基本定义和生成实例
{ class Parent { constructor(name = 'haha') { this.name = name; } } let parent = new Parent('v'); console.log('构造函数和实例', parent); // Parent {name: "v"} }
2.继承
{ class Parent { constructor(name = 'haha') { this.name = name; } } class Child extends Parent { } console.log('继承', new Child()); // Child {name: "haha"} }
3.继承传递参数
{ class Parent { constructor(name = 'haha') { this.name = name; } } class Child extends Parent { constructor(name = 'child') { // super()方法,用来解决 继承怎么传递参数(怎么覆盖父类的参数) // super的参数列表就是父类构造函数的参数列表,如果参数为空,就采用父类的参数默认值 super(name); // super必须放在构造函数第一行 this.type = 'child'; } } console.log('继承传递参数', new Child('hello')); // Child {name: "hello", type: "child"} }
4.getter setter
{ class Parent { constructor(name = 'haha') { this.name = name; } // longName 是一个属性,不是方法 get longName() { return 'lu-' + this.name; } // longName 是一个属性,不是方法 set longName(value) { this.name = value; } } let person = new Parent(); console.log('getter', person.longName); // lu-haha person.longName = 'hello'; console.log('setter', person.longName); // lu-hello }
5.静态方法
{ class Parent { constructor(name = 'haha') { this.name = name; } // static 关键字用来定义静态方法 static tell() { console.log('do tell'); } } // 静态方法,直接通过类去调用,不是通过实例 Parent.tell(); // do tell }
6.静态属性
{ class Parent { constructor(name = 'haha') { this.name = name; } } // 直接在类上定义静态属性 Parent.type = 'test'; // 读取静态属性时,也是直接拿类读取 console.log(Parent.type); // test }
看完了这篇文章,相信你对“ES6中类和对象的示例”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联网站制作公司行业资讯频道,感谢各位的阅读!