学习记录

1.typeof   undefiend:  undefined

   typeof  null:  object

   typeof Boolean: function

   typeof String : function 

   typeof Number: function

   typeof Object: function  

2.ES6  Class

   a:为什么提出Class? 

   答:Class,是对象的模板。   更符合面向对象。

   b:ES5 的构造函数Point,对应 ES6 的Point类的构造方法。  ES6 的类,完全可以看作构造函数的另一种写法。

   c: Javascript规定,每一个构造函数都有一个prototype属性,指向另一个对象()。这个对象的所有属性和方法,都会被构造函数的实例继承。

       prototype对象的constructor属性,直接指向“类”的本身(构造函数),这与 ES5 的行为是一致的。

   d:实现方法私有,实现属性私有!  (es6还没,所以只能变通的实现)

   e:由于本质上,ES6 的类只是 ES5 的构造函数的一层包装,所以函数的许多特性都被Class继承,包括name属性。

   f:   如果某个方法之前加上星号(*),就表示该方法是一个 Generator 函数。

   g:class的静态方法,  属于类,不属于实例!   父类的静态方法,可以被子类继承。

   h:ES6 为new命令引入了一个new.target属性,该属性一般用在在构造函数之中,返回new命令作用于的那个构造函数。如果构造函数不是通过new命令调用的,new.target会返回undefined,因此这个         属性可以用来确定构造函数是怎么调用的。  注意,在函数外部,使用new.target会报错。

二:ES6阮一峰         Class模块内容的学习

1.prototype:构造函数才有的属性哦!  

2.constuctor:prototype对象的constructor属性指向构造函数。

3._proto_:对象的原型    和prototype一样!   

4.只有构造函数才有prototype属性,而构造函数的实例是没有该属性的。  哦哦哦!!!!!!!!!!!!

 当前对象的prototype属性指向一个prototype对象,这个prototype对象中又有一个constructor属性,这个constructor指向一个constructor

    对象,而这个constructor对象就恰恰是当前对象。

三:

   

原文地址:https://www.cnblogs.com/njqa/p/7237453.html