ES6-类和模块

ES5中,如果想要实现一个类,那么需要通过以下代码来实现:

fuction Point(x,y)
{
this.x=x;
this.y=y;

}

Point.prototype.toString=function()
{
return '('+this.x+','+this.y+')';
};

var p=new Point(1,2);

  这种写法虽然可以实现,但是不够清晰,让有其他编程语言的小伙伴看了后会有一脸问号。那么ES6就提供了一个新的语法class来实现。示例代码如下:

class Person
{
  //构造函数
  constructor{
    this.name=name;
    this.age=age;
}
   sayhello()
{
   console.log("hello world");

}
  let p=new Person("zhiliao",18)
 p.sayhello();

}
以上便是定义一个Person类的非常简单的方式。

  定义静态的方法

   在定义方法的时候,可以使用static关键字定义静态方法,静态方法是只属于类的,不属于对象的。示例

class Utils{
  constructor(){}
  static timeFormat(time){
    // 时间格式化的代码
  }
}

// 直接调用
Utils.timeFormat("2019/1/1")

  以上定义了一个timeFormat的方法,并且在这个方法前面加了一个static关键字,所以他就是一个静态方法了,那么以后在使用这个方法的时候直接通过类名就可以调用了。

模块

在传统的JS中,是没有办法在多个js文件中互相导入的,这对于大型项目来说很不方便。因此ES6提供了一个模块的功能。要学会使用模块,只要掌握两个关键字export以及import即可。

exprot:

// utils.js
var name ="zhiliao";
function dateFormate(date)
{  
  //格式化代码

}
class  Person
{
   constructor(name,age){
      this.name=name;
      this.age=age;
   }

}
export{name,dateFormate.Person}

  

import:

以上文件进行export了,那么以后其他文件想要使用的,则需要从这个文件中把需要的进行import。示例代码如下:

import {name,dateFormat,Person} from "utils.js";

  

猜你喜欢

转载自www.cnblogs.com/123-com/p/12810113.html
今日推荐