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 相关文章推荐
效率高的Javscript字符串替换函数的benchmark
Aug 02 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
Nov 04 Javascript
jQuery load方法用法集锦
Dec 06 Javascript
纯javascript判断查询日期是否为有效日期
Aug 24 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
Apr 29 Javascript
AngularJS ng-change 指令的详解及简单实例
Jul 30 Javascript
JavaScript实现的浏览器下载文件的方法
Aug 09 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
Jan 20 Javascript
5 种JavaScript编码规范
Jan 30 Javascript
vue非父子组件通信问题及解决方法
Jun 11 Javascript
微信小程序tabBar设置实例解析
Nov 14 Javascript
JavaScript实现队列结构过程
Dec 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 中的输出缓冲
2006/12/21 PHP
yii框架builder、update、delete使用方法
2014/04/30 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
PHP中set_include_path()函数相关用法分析
2016/07/18 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
IE6弹出“已终止操作”的解决办法
2010/11/27 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
jQuery中$.ajax()方法参数解析
2016/10/22 Javascript
在小程序开发中使用npm的方法
2018/10/17 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
Eclipse + Python 的安装与配置流程
2013/03/05 Python
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
python实现的多线程端口扫描功能示例
2017/01/21 Python
Python 登录网站详解及实例
2017/04/11 Python
Python设计模式之中介模式简单示例
2018/01/09 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
基于Python的ModbusTCP客户端实现详解
2019/07/13 Python
详解python实现小波变换的一个简单例子
2019/07/18 Python
python3中eval函数用法使用简介
2019/08/02 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
python 基于opencv去除图片阴影
2021/01/26 Python
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
阿巴庭院:Abba Patio
2019/06/18 全球购物
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
Java编程面试题
2016/04/04 面试题
秋天的雨教学反思
2014/04/27 职场文书
小学美术教学反思
2016/02/17 职场文书
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS