es6(class)

js中的私有方法

_privateMethod(){}形式

关于this

  • 函数中的this指向函数的调用者undefined(window)

下述代码中,报错原因是对象外的getAge无法识别函数体内的age

class Person{
    constructor(){
    this.age=12;
    }
    getAge()
    {
    return this.age;
    }
}
let p=new Person()
let GetAge=p.getAge
GetAge()
// Cannot read property 'age' of undefined
  • 用bind改进
class Person{
    constructor(){
    this.age=12;
    }
    getAge()
    {
    return this.age;
    }
}
let p=new Person()
let GetAge=p.getAge
GetAge.bind(p)//12
  • super()
class Stu extends Person{
    constructor(){
        super();//必须写在第一行
    this.age=13
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • class的基本用法 概述 JavaScript语言的传统方法是通过构造函数,定义并生成新对象。下面是一个例子: ...
    呼呼哥阅读 4,129评论 3 11
  • 如需转载请注明来源,喜欢的朋友们点个赞,蟹蟹~~~ 如有错误,请批评指正! 关键词:class,super,sta...
    枸杞辣条阅读 1,017评论 2 7
  • 在ES6中使用class实现继承,子类必须在constructor方法中调用super方法,否则新建实例时会报错。...
    8d2855a6c5d0阅读 4,976评论 1 8
  • 特别说明,为便于查阅,文章转自https://github.com/getify/You-Dont-Know-JS...
    杀破狼real阅读 311评论 0 1
  • 官方中文版原文链接 感谢社区中各位的大力支持,译者再次奉上一点点福利:阿里云产品券,享受所有官网优惠,并抽取幸运大...
    HetfieldJoe阅读 1,166评论 0 4