class Point{
  constructor(x,y){
    this.x = x;
    this.y = y;
  }
  toString(){
    return '(' + this.x + ',' + this.y + ')';
  }
}
var foo = new Point(2,3);
console.log(foo.x);
// es6类完全可以看作构造函数的另一种写法
// type of "function"
// Point === Point.prototype.constructor true // 构造函数的prototype属性在es6的"类"上继续存在,事实上类的所有方法都定义在类的 prototoye 属性上 // 在类的实例上调用方法,其实就是调用类原型上的方法 // 类的内部定义的所有方法都是不可枚举的 // 类和模块的内部默认使用严格模式 // constructor是类的默认方法通过new命令生成实例对象时自动调用该方法. // 一个类必须有constructor方法,如果没有显式定义,默认添加一个空的constructor方法 // 类必须使用new来调用,否则报错 // 与es5一样实例的属性除非显式定义在其本身(即this对象上),否则都是定义在原型(即class)上 // class表达式 const myClass = class Me{} const foo = class{}; // 省略类名 // 类不存在变量提升 (与继承有关) // 必须在定义后使用,否则报错 // this指向 // 类的方法内部如果含有this,它将默认指向类的实例 // class的取值函数getter和存值函数setter // class的静态方法
// 在一个方法前加上static关键字就表示该方法不会被实例继承,而是直接通过类调用,称为静态方法
// 父类的静态方法可以被子类继承,静态方法也可以从super对象上调用 // class 实例属性/静态属性
// 在实例属性写法前面加上static关键字就可以了 // class的继承 // class通过extends实现继承
// super关键字表示父类的构造函数
// 子类必须在constructor方法中调用super方法,否则新建实例会报错,这是因为子类没有自己的this对象,而是继承父类的this对象
class point {}
  class colorPoint{
    constructor() {
      super(); // 调用父类constructor方法
    }
  } // 在子类的构造函数中只有调用super之后才可以使用this关键字,否则报错 // super关键字
// super关键字及可以当作函数使用,也可以当作对象使用
// super作为函数使用时,代表调用父类的构造函数,只能在子类构造函数中使用,其他地方会报错
// 第二种情况,super作为对象时在普通方法中指向父类的原型对象,在静态方法中指向父类
// super调用父类的方法时,super会绑定子类的this // 类的prototype属性和__proto__属性
// class作为构造函数的语法糖同时有prototype属性和__proto__属性,因此同时存在两条继承链
// 子类的__proto__属性表示构造函数的继承,总是指向父类
// 子类的prototype属性的__proto__属性表示方法继承,总是指向父类prototype属性

最新文章

  1. CenOS 6.5下安装docker(转)
  2. 1022. Digital Library (30)
  3. robot.libdocpkg package
  4. 【M28】智能指针
  5. cocos2dx动画Animation介绍
  6. 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇05:二段跳》
  7. Python 更改cmd中的字色
  8. html标签引入外部html
  9. java_内存划分
  10. Android 获取图片真实宽高
  11. jsp文件中的路径问题
  12. webuploader分片上传
  13. Burp Suite学习之Intruder的4种攻击模式
  14. chkdsk 命令对Raid盘检测和查错、修复
  15. ORA-01555 snapshot too old
  16. 前端学习 -- Css -- 文本标签
  17. Storm存储结果至Redis
  18. 解决ie6、ie7下float为right换行的情况
  19. vue.js中引入图片
  20. Eclipse 相同变量背景高亮显示设置(Occurrences)

热门文章

  1. 在cnetos7上搭建mysql主从服务
  2. Java中的日期与时间
  3. 一文理解Java IO/NIO/AIO
  4. find 常用命令
  5. Centos8尝鲜
  6. 08-Node.js学习笔记-静态资源访问
  7. Nim 游戏
  8. Logstash filter 插件之 date
  9. 范罗士空气净化器PT65评测
  10. Java连载57-equals重写、finalize方法、hashCode方法​