关闭

ES6学习笔记(八)--Class

标签: classes6
590人阅读 评论(0) 收藏 举报

class

基本语法

//ES5
function Point(x,y){
  this.x = x;
  this.y = y;
}

Point.prototype.toString = function () {
  return '(' + this.x + ', ' + this.y + ')';
};

//ES6
class Point {
  //constructor是类的默认方法,通过new命令生成对象实例时,自动调用该方法
  constructor(x, y) {
    this.x = x;
    this.y = y;
  }

  toString() {//定义在类的prototype属性上面
    return '(' + this.x + ', ' + this.y + ')';
  }
}

class的继承

class ColorPoint extends Point {
  constructor(x, y, color) {
    super(x, y); // 调用父类的constructor(x, y)
    this.color = color;
  }

  toString() {
    return this.color + ' ' + super.toString(); // 调用父类的toString()
  }
}

子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类没有自己的this对象,而是继承父类的this对象,然后对其进行加工

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:37325次
    • 积分:745
    • 等级:
    • 排名:千里之外
    • 原创:35篇
    • 转载:0篇
    • 译文:0篇
    • 评论:8条
    博客专栏
    最新评论