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


Posted in Javascript onJuly 31, 2019

本文实例讲述了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 mkxiaxaioxian
v.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) // 静态属性 test
let v_parent = new Parent();
console.log(v_parent); // {name: "xiaxaioxian"} 没有tell方法和type属性

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

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

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

Javascript 相关文章推荐
不同浏览器对回车提交表单的处理办法
Feb 13 Javascript
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
Jan 06 Javascript
php和js对数据库图片进行等比缩放示例
Apr 28 Javascript
Jquery中扩展方法extend使用技巧
Aug 24 Javascript
基于js与flash实现的网站flv视频播放插件代码
Oct 14 Javascript
ES6的新特性概览
Mar 10 Javascript
微信小程序图表插件(wx-charts)实例代码
Jan 17 Javascript
jQuery获取Table某列的值(推荐)
Mar 03 Javascript
vue2.0安装style/css loader的方法
Mar 14 Javascript
微信小程序wepy框架学习和使用心得详解
May 24 Javascript
纯js+css实现在线时钟
Aug 18 Javascript
electron踩坑之dialog中的callback解决
Oct 06 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
Jul 31 #Javascript
简述vue-cli中chainWebpack的使用方法
Jul 30 #Javascript
vue实现中部导航栏布局功能
Jul 30 #Javascript
js定义类的方法示例【ES5与ES6】
Jul 30 #Javascript
Javascript 对象(object)合并操作实例分析
Jul 30 #Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 #Javascript
8个有意思的JavaScript面试题
Jul 30 #Javascript
You might like
php判断正常访问和外部访问的示例
2014/02/10 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
Ajax中解析Json的两种方法对比分析
2015/06/25 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
Bootstrap表单布局
2016/07/19 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
纯js实现的积木(div层)拖动功能示例
2017/07/19 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
Python中的文件和目录操作实现代码
2011/03/13 Python
python多维数组切片方法
2018/04/13 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
使用Python控制摄像头拍照并发邮件
2019/04/23 Python
python kafka 多线程消费者&手动提交实例
2019/12/21 Python
Python读取文件内容为字符串的方法(多种方法详解)
2020/03/04 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
德国Discount-Apotheke中文官网:DC德式康线上药房
2020/02/18 全球购物
工程监理应届生求职信
2013/11/09 职场文书
学生操行评语大全
2014/04/24 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
党员承诺书范文2015
2015/04/27 职场文书
公司岗位说明书
2015/10/08 职场文书
委托书范本格式
2019/04/18 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS