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 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
extjs DataReader、JsonReader、XmlReader的构造方法
Nov 07 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
jQuery代码实现对话框右上角菜单带关闭×
May 03 Javascript
Boostrap入门准备之border box
May 09 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
Nov 18 Javascript
对Angular中单向数据流的深入理解
Mar 31 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
Sep 13 Javascript
微信小程序公用参数与公用方法用法示例
Jan 09 Javascript
JavaScript undefined及null区别实例解析
Jul 21 Javascript
利用React高阶组件实现一个面包屑导航的示例
Aug 23 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
Dec 30 jQuery
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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
php检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
Ext 表单布局实例代码
2009/04/30 Javascript
html数组字符串拼接的最快方法
2009/09/16 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
微信js-sdk地理位置接口用法示例
2016/10/12 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
JavaScript中Object基础内部方法图
2018/02/05 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
JS实现使用POST方式发送请求
2019/08/30 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
Python命令启动Web服务器实例详解
2017/02/23 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
python 日志增量抓取实现方法
2018/04/28 Python
python写入并获取剪切板内容的实例
2018/05/31 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
python实现动态数组的示例代码
2019/07/15 Python
python学生信息管理系统实现代码
2019/12/17 Python
Python Switch Case三种实现方法代码实例
2020/06/18 Python
如何把python项目部署到linux服务器
2020/08/26 Python
Java的for语句中break, continue和return的区别
2013/12/19 面试题
体育专业个人的求职信范文
2013/09/21 职场文书
生产车间实习自我鉴定
2013/09/23 职场文书
给公司的建议书范文
2014/05/13 职场文书
vue3中provide && inject的使用
2021/07/01 Vue.js