//定义类
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
toString() {
return '(' + this.x + ', ' + this.y + ')';
}
}
var point = new Point(2, 3);
//可以通过实例的__proto__属性为Class添加方法
point.__proto__.printname = function(){
return "proto"
}
point.printname() //proto
//不存在变量提升
new Foo(); // ReferenceError
class Foo {}//报错
const MyClass = class Me {
getClassName() {
return Me.name;
}
};//类的名字是MyClass而不是Me,Me只在Class的内部代码可用,指代当前类。
let inst = new MyClass();
inst.getClassName() // Me
//如果类的内部没用到的话,可以省略Me,也就是可以写成下面的形式。
const MyClass = class { /* ... */ };
//采用Class表达式,可以写出立即执行的Class。
let person = new class {
constructor(name) {
this.name = name;
}
sayName() {
console.log(this.name);
}
}('张三');
person.sayName(); // "张三"
es6 class
最新推荐文章于 2022-10-24 00:15:13 发布