OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

JavaScript使用ES6的Class面向对象继承时 this is not defined 解决方法


分享到
分类 大话编程   关键字 分享   发布 ourjs  1491039041262
注意 转载须保留原文链接,译文链接,作者译者等信息。  
传统的JavaSCript继承是这个样子的:

//相当于构造函数
var myClass = function(name) {
    this._name = name;  
};
//通过原型方法继承
myClass.prototype = {
    (...)
};

或者使用Node.JS的util对象继承

util.inherits(myClass, require('events').EventEmitter);

现在ES6提供了一种新的类和构造函数实现方法:

class Character {
   constructor(name) {
      this._name = name;
   }
}

不过如果你使用了继承就需要先调用 super() 函数,才能使用this,否则会报错

class Hero extends Character{
  constructor(){
      super(); // 如果不调用super()则会报错
      this._name = name;
  }
}

这些规则在ES2015中已经规定了,必须在子类中调用super,否则this无法使用。

  1. In a child class constructor, this cannot be used until super is called.
  2. ES6 class constructors MUST call super if they are subclasses, or they must explicitly return some object to take the place of the one that was not initialized.


相关文章

在JavaScript中创建命名空间的几种写法

深入理解JavaScrip面向对象和原型继承

Node.JS通过原型和类继承


原文地址: 点此
社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. Github Pages疑似被封: 再也不能用Pages搭建个人博客了
  2. JavaScript条形码生成和扫码识别(Barcode scan)开源库
  3. 关于华为优化30、40老员工的争议
  4. OnceVI前后端分离的数据可视化报表工具简介
  5. 2016 年崛起的 JS 项目
  6. 如何基于SVG矢量图制作一个可填写信息的可视化表单-OnceVI
  7. OnceVI报表制作入门—如何将用户的json数据可视化成名片展示
  8. TCP/UDP协议比较:在Node.JS中UDP服务器和客户端通信示例
  9. 学哪种语言的最赚钱?调查显示JavaScript和SQL是程序员最常用的语言
  10. 搜狐社区宣布关闭,又有多少人的回忆被埋葬在PC时代里?
  11. AirJD-简单好用的免费建站工具

 相关阅读 - 大话编程
  1. TCP/UDP协议比较:在Node.JS中UDP服务器和客户端通信示例
  2. 周鸿祎:一些程序员没有商业意识,却又很自负,一看就知道不会创业
  3. 微信抢红包插件示例代码及其实现原理
  4. 学哪种语言的最赚钱?调查显示JavaScript和SQL是程序员最常用的语言
  5. 搜狐社区宣布关闭,又有多少人的回忆被埋葬在PC时代里?
  6. 第三方评论平台多说即将关闭
  7. 如何搭建个人SASS云盘:30秒快速安装OnceDoc企业私有网盘
  8. 2016年前端技术观察
  9. 在Debian上安装Nginx并搭建一个最简单的静态网站服务器(以OnceAI为例)
  10. OnceIO(Node.JS)的静态文件路由(app.static)

 关键字 - 分享
  1. dbForge Studio for MySQL v7.2发布,视图和界面全面更新|附下载
  2. Essential Studio for UWP发布2017 v2,新增甘特图控件
  3. 世界级版本控制工具Vault v10.0发布,多项功能改进|附下载
  4. Essential Studio for JavaScript发布2017 v2,扩展企业Web开发界限
  5. Essential Studio for ASP.NET MVC发布2017 v2,增加日期范围选择器功能
  6. 比特币的技术缺陷:区块链信息越来越大怎么办?
  7. 【重大更新】DevExpress v17.1新版亮点(ASP.NET篇)
  8. Essential Studio for ASP.NET Web Forms发布2017 v2,新增自定义树形网格工具栏等
  9. parasoft Jtest 使用教程:防止特定应用错误的再次发生
  10. 图像注释插件VintaSoftAnnotation.NET Plug-in更新至v8.5,增加注释样式

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号