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 对象, 然后对其进行加工。 如果不...

es6学习笔记1

es6学习笔记

ES6 学习笔记之《数组的扩展》

Array.from() Array.from()方法用于将两类数组对象转化为真正的数组:类似数组的对象和可遍历的对象(包括ES6新增的数据结构Set和Map)。 下面是一个类似数组的对象,Arr...

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

字符串扩展for…of循环遍历字符串let text = 'abc' for (let i of text) { console.log(i); } //a //b //c新增确定一个字符串是否包...

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

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

ES6学习笔记(二)--解构赋值

解构赋值数组的解构赋值let [foo, [[bar], baz]] = [1, [[2], 3]]; foo // 1 bar // 2 baz // 3let [ , , third] = ["f...

ES6学习笔记:箭头函数

重点写在前面,箭头函数与传统的js函数不同的地方: 没有this,super,arguments,new.target。这些值由箭头函数所属的非箭头函数的相应值来决定。 不能被new调用。 箭头函...

《ES6入门(第二版)》学习笔记【精华】(2)- 变量声明

0.1 ECMAScript 6 简介 ES6 是 JS 语言的下一代标准,目标是使 JS 可以编写复杂的大型应用程序 ES6 是 JS 的规范,JS 是 ES6 的实现,两者在一般场合可以互换 0....

【ES6学习笔记】-----箭头函数与symbol

【ES6学习笔记】—–箭头函数与symbol一.箭头函数 我们在ES6以前写函数使用function这个关键字。 但是字ES6中出现了 =>, 有点像lambda表达式的感觉。这是ES6编写函数的新...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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