位置: 编程技术 - 正文

ES6 javascript中class静态方法、属性与实例属性用法示例

编辑:rootadmin

推荐整理分享ES6 javascript中class静态方法、属性与实例属性用法示例,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了ES6 javascript中class静态方法、属性与实例属性用法。分享给大家供大家参考,具体如下:

类相当于实例的原型, 所有在类中定义的方法, 都会被实例继承。 如果在一个方法前, 加上static关键字, 就表示该方法不会被实例继承, 而是直接通过类来调用, 这就称为“ 静态方法”。

上面代码中, Foo类的classMethod方法前有static关键字, 表明该方法是一个静态方法, 可以直接在Foo类上调用( Foo.classMethod()), 而不是在Foo类的实例上调用。 如果在实例上调用静态方法, 会抛出一个错误, 表示不存在该方法。

父类的静态方法, 可以被子类继承。

上面代码中, 父类Foo有一个静态方法, 子类Bar可以调用这个方法。静态方法也是可以从super对象上调用的。

静态属性

静态属性指的是 Class 本身的属性, 即Class.propname, 而不是定义在实例对象( this) 上的属性。

上面的写法为Foo类定义了一个静态属性prop。

目前, 只有这种写法可行, 因为 ES6 明确规定, Class 内部只有静态方法, 没有静态属性。

ES7 有一个静态属性的提案, 目前 Babel 转码器支持。

这个提案对实例属性和静态属性, 都规定了新的写法。

ES6 javascript中class静态方法、属性与实例属性用法示例

(1) 类的实例属性

类的实例属性可以用等式, 写入类的定义之中。

上面代码中, myProp就是MyClass的实例属性。 在MyClass的实例上, 可以读取这个属性。

以前, 我们定义实例属性, 只能写在类的constructor方法里面。

上面代码中, 构造方法constructor里面, 定义了this.state属性。有了新的写法以后, 可以不在constructor方法里面定义。

这种写法比以前更清晰。

为了可读性的目的, 对于那些在constructor里面已经定义的实例属性, 新写法允许直接列出。

(2) 类的静态属性

类的静态属性只要在上面的实例属性写法前面, 加上static关键字就可以了。

同样的, 这个新写法大大方便了静态属性的表达。

上面代码中, 老写法的静态属性定义在类的外部。 整个类生成以后, 再生成静态属性。 这样让人很容易忽略这个静态属性, 也不符合相关代码应该放在一起的代码组织原则。 另外, 新写法是显式声明( declarative), 而不是赋值处理, 语义更好。

更多相关内容可查看本站专题:《ECMAScript6(ES6)入门教程》、《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家基于ECMAScript的程序设计有所帮助。

原生JS与jQuery编写简单选项卡 本文实例为大家分享了JS编写简单选项卡的具体代码,供大家参考,具体内容如下!DOCTYPEhtmlhtmllang="en"headmetacharset="UTF-8"titlejquery选项卡/titlestyletype="text/css

ES6 javascript中class类的get与set用法实例分析 本文实例讲述了ES6javascript中class类的get与set用法。分享给大家供大家参考,具体如下:与ES5一样,在Class内部可以使用get和set关键字,对某个属性设置存

react实现一个优雅的图片占位模块组件详解 前言发现项目中的图片占位模块写得很不优雅,找了一圈,发现没找到自己想要的图片组件。于是自己写了一个,写了一个还算优雅的图片组件:mult-tra

标签: ES6 javascript中class静态方法、属性与实例属性用法示例

本文链接地址:https://www.jiuchutong.com/biancheng/368469.html 转载请保留说明!

上一篇:用React实现一个完整的TodoList的示例代码(react 技巧)

下一篇:原生JS与jQuery编写简单选项卡(jquery和原生js性能)

  • 工业企业取得土地收益
  • 盈余公积在现金流量表中哪里体现
  • 运输发票备注怎么填
  • 股权变更印花税申报表怎么填写
  • 个人账户作为公司私账
  • 合作建房分配的房屋
  • 支票作废了需要什么材料
  • 商业承兑拒付怎么办
  • 个人所得税汇算清缴包括哪些项目
  • txp1atform.exe
  • 进项票与实际支出金额不符
  • PHP:oci_new_connect()的用法_Oracle函数
  • 什么是跨区域涉税业务
  • mac电脑色彩设置
  • 六千元左右
  • 一般纳税人出售旧设备的税率
  • pniopcac.exe是什么
  • ant design vue vue3
  • php远程命令执行
  • php运行无法访问此页面
  • 套期工具的会计分录
  • 企业资本结构决策需要重点考虑的有
  • js查找数组所有符合条件数据
  • 基于vue的ui
  • 腾讯一面问什么
  • vuea
  • 广东高速公路过路费官网
  • 未分配利润的核算内容
  • 旅行社的增值税怎么算
  • 工会经费怎么上缴
  • 行政事业单位福利费列支范围及标准2023
  • 不想预缴所得税交多了怎样先把利润转到费用
  • c++32个关键字详解
  • 爬虫技术是做什么的
  • mysql安装总结
  • 固定资产的主要风险和关键控制点有哪些?
  • 实发工资属于什么科目
  • db2入门
  • sql2008用ip连接不了
  • sql2012附加数据库方法
  • 发票拍照打印出来可以报销吗法律
  • 管理人员工资结构
  • 业务招待费汇算清缴账务处理
  • 股东借款如何认定为出资
  • 结转产品成本怎么算
  • 付款金额与增值金额区别
  • 普通发票冲红重开要多久
  • 固定资产可资本化的后续支出
  • 商誉的算法
  • 个人购买机动车需要交增值税吗
  • 固定总价合同与epc总承包合同区别
  • 11个点增值税发票是多少
  • 每个月结转损益会计分录
  • 原股东将全部股权转让
  • 企业一般用什么系统
  • 房地产企业会计处理
  • Win10预览版怎么变回正式版
  • 快速删除指定位置的结点用单链表还是双链表
  • linux的用法
  • linux中使用最多的命令
  • 光盘pe系统
  • SUSE Linux Enterprise Server 11 SP1 安装教程图文详解
  • 如何在Windows下移动文件
  • win10预览版21337
  • linux中软链接和硬链接的区别
  • dos命令行怎么打开
  • perl do
  • unity每秒执行一次
  • vue微信分享功能
  • node.js的内置模块
  • PYTHON内置函数,标准库,三方库的区别
  • javascript怎么学
  • 各国海关关税起征点
  • 厂房每年要交什么费用
  • 江西省电子信息职业学院
  • 四川税务申报如何网上申报零申报
  • 机关工勤人员2022工资套改表
  • 无锡市高新区税务局张贤平
  • 未到申报期可以提前抄税吗
  • 河南旧县为什么叫新县
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设