首页 > 编程 > JavaScript > 正文

ES6中定义类和对象的方法示例

2019-11-19 11:06:10
字体:
来源:转载
供稿:网友

本文实例讲述了ES6中定义类和对象的方法。分享给大家供大家参考,具体如下:

类的基本定义和生成实例:

// 类的基本定义和生成实例class Parent{ //定义一个类    constructor(name='xiaxaioxian'){     this.name= name;    }}// 生成一个实例let g_parent = new Parent();console.log(g_parent); //{name: "xiaxaioxian"}let v_parent = new Parent('v') // 'v'就是构造函数name属性 , 覆盖构造函数的name属性值console.log(v_parent); // {name: "v"}

继承

// 继承class Parent{ //定义一个类    constructor(name='xiaxaioxian'){     this.name= name;    }}class Child extends Parent{}console.log('继承',new Child()) // 继承 {name: "xiaxaioxian"}

继承传递参数

// 继承传递参数class Parent{ //定义一个类    constructor(name='xiaxaioxian'){     this.name= name;    }}class Child extends Parent{   constructor(name = 'child'){ // 子类重写name属性值    super(name); // 子类向父类修改 super一定放第一行    this.type= 'preson';   }}console.log('继承',new Child('hello')) // 带参数覆盖默认值 继承{name: "hello", type: "preson"}

ES6重新定义的ES5中的访问器属性

class Parent{ //定义一个类    constructor(name='xiaxaioxian'){     this.name= name    }    get longName(){ // 属性     return 'mk' + this.name    }    set longName(value){     this.name = value    }}let v = new Parent();console.log('getter',v.longName)  // getter mkxiaxaioxianv.longName = 'hello';console.log('setter',v.longName)  // setter mkhello

类的静态方法:

class Parent{ //定义一个类   constructor(name='xiaxaioxian'){    this.name= name   }   static tell(){ // 静态方法:通过类去调用,而不是实例    console.log('tell')   }}Parent.tell(); // tell

类的静态属性:

// 静态属性class Parent{ //定义一个类   constructor(name='xiaxaioxian'){    this.name= name   }   static tell(){ // 静态方法:通过类去调用,而不是实例    console.log('tell') // tell   }}Parent.type = 'test'; // 定义静态属性console.log('静态属性',Parent.type) // 静态属性 testlet v_parent = new Parent();console.log(v_parent); // {name: "xiaxaioxian"} 没有tell方法和type属性

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具http://tools.VeVB.COm/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表