ES 6 怎么写 class ,为何会出现 class

ES 6 怎么写 class ,为何会出现 class

00:00
04:11

ES 6 怎么写 class ,为何会出现 class?
ES6的class可以看作是一个语法糖,它的绝大部分功能ES5都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法
//定义类
function Person{}


class Person { 
  constructor(x,y) {                   
      //constructor方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法,
  一个类必须有constructor方法,如果没有显式定义,一个空的constructor方法会被默认添加
       this.x = x; //this关键字代表实例对象
       this.y = y; 
  } 
  toString() {
       return '(' + this.x + ',' + this.y + ')'; 
  }
}


等同于


ES5 的构造函数Person
Person.prototype = {
  constructor() {},
  toString() {}
};




1、类和模块的内部,默认就是严格模式,所以不需要使用use strict指定运行模式。
考虑到未来所有的代码,其实都是运行在模块之中,所以 ES6 实际上把整个语言升级到了严格模式。


2、类不存在变量提升(hoist)




静态方法
类相当于实例的原型,所有在类中定义的方法,都会被实例继承。
如果在一个方法前,加上static关键字,就表示该方法不会被实例继承,
而是直接通过类来调用,这就称为“静态方法”。





以上内容来自专辑
用户评论

    还没有评论,快来发表第一个评论!