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";
浙公网安备 33010602011771号