SOURCE

/*
	构造函数与class
*/

	// 构造函数的方式
	function Point(x,y) {
    this.x = x;
    this.y = y;
  }
	Point.prototype.toString = function(){
    return '('+ this.x + this.y +')';
  }
  
  var p = new Point(1,2);

	// class,es6的类,完全可以看做构造函数的另一种写法

	class Point1 {
    constructor(x,y) {
      this.x = x;
      this.y = y;
    }
    toString() {
      return '('+ this.x + this.y +')';
    }
  }

	console.log(typeof Point1) // function
  
  console.log(Point1.prototype.constructor) // true
  
  // class的类使用方式也是直接对类使用new命令
  
  class Bar {
    doStuff(){
      console.log('stuff');
    }
  }
	var b = new Bar();
	b.doStuff() // 'stuff'
  
  // 构造函数的prototype属性,在es6的类上面继续存在,即,类的所有方法都定义在类的			/	 // prototype属性上面
  
  class Point2 {
    constructor() {
      // ...
    }
    toString() {
      // ...
    }
    toValue() {
      // ...
    }
  }
	//等同于
	Point2.prototype = {
    constructor(){},
    toString(){},
    toValue(){}
  }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
console 命令行工具 X clear

                    
>
console