ES6学习笔记(八)--Class

原创 2016年06月01日 17:19:58

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对象,然后对其进行加工

版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

ES6学习笔记之class

概述ES6引入了class以接近传统的面向对象(java、c++)语法。我觉得这不是很有必要。因为在继承方面它和java/c++完全不一样,这样会对新手可能会造成困扰(虽然java我已经忘掉了)。实际...

ES6 学习笔记 Class

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

JavaScript ES6新的类继承特性学习笔记

Javascript新标准ES6正式出来都一年多了,最近才有时间愿意集中精力研究下,发现有些新特性确实亮瞎了我的双眼,比如,最新的“类-实例”的支持,再比如模仿Python引入gennerator等等...

【javascript】ES6 特性 菜鸟学习笔记

本文根据此文学习,附上原文链接点击 首先上几个链接                      ES6在线编辑器            要查看ES6的支持情况请点此             1)首先说箭...
  • gjc9620
  • gjc9620
  • 2015年01月08日 16:34
  • 525

《es6标准入门》学习笔记-第二章 let和const命令

以下内容使用的书籍为《es6标准入门-第2版》,阮一峰著,如有需要请购买正版 本文仅为个人读书笔记,如有不详之处请查阅原文 es5提供了var 和function两种变量声明方法,在es6中提供...

ES6学习笔记(一)let const

准备工作: 首先需要配好node环境,见博文: 在项目根目录下 shift+右击 >打开命令窗口 输入:npm init 进行初始化 多次回车 (文件夹里会多一个package.json文件)...

ES6学习笔记(三)--字符串扩展

字符串扩展for…of循环遍历字符串let text = 'abc' for (let i of text) { console.log(i); } //a //b //c新增确定一个字符串是否包...
  • SirM2z
  • SirM2z
  • 2016年06月01日 17:14
  • 1024

《ES6入门(第二版)》学习笔记【精华】(2)-变量的解构赋值

2 变量的解构赋值2.1 数组的解构赋值 定义:ES6 允许按照一定模式,从数组或对象中提取值,对变量进行赋值,即解构 - Destructuring。被解构对象需要具有 Iterator 接口...

ES6学习笔记(一)(整理阮一峰大神入门)

一、ES6声明变量的六种方法 ES5 只有两种声明变量的方法:var命令和function命令。ES6除了添加let和const命令,另外两种声明变量的方法:import命令和class命令。所以,...

ES6学习笔记(五)--函数与对象

函数参数的默认值基本用法function log(x, y = 'World') { console.log(x, y); }log('Hello') // Hello World log('He...
  • SirM2z
  • SirM2z
  • 2016年06月01日 17:17
  • 1955
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ES6学习笔记(八)--Class
举报原因:
原因补充:

(最多只允许输入30个字)