1.简介
基本上ES6的class可以看作只是一个语法糖,他的绝大部分功能,es5都可以做到,新的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)
上面的代码用ES6的class改写:
class Point{
constructor(x,y){
this.x = x;
this.y = y;
}
toString(){
return '(' + this.x + ', ' + this.y + ')';
}
}
ES6的类完全可以看作构造函数的另一种写法。
取值函数(getter)和存值函数(setter)
与ES5一样,在‘类’的内部可以使用get和set关键字,对某个属性设置存值函数和取值函数,拦截该属性的存取行为
ES6之class基本用法