ES6 对象
以前的定义类的方式
let obj={};//字面式定义
function Obj(name,age){
this.name=name;
this.age=age;
};
Obj.prototype.showName(){}
通过函数,注意首字母最好大写
或者
Object.assign(Obj.prototype,{showName:function(){}})
let a=new Obj()
ES6 类(关键字class)
class Person{
constructor(name,age){
this.name=name;
this.age=age
};
showName:function(){
}
}
new Person()
1还可以用变量
let aaa="strive";
class Person{
constructor(name,age){
this.name=name;
this.age=age
};
showName:function(){
}
[aaa](){
}
}
let person=new Person();
person.strive();或者 person[aaa]()
class 没有预提升的功能
1.第一种情况
let person=new Person() 这样会报错
class Person{
}
2:第二种情况
let person=new Person();这个是正确的。有预提升的功能
function Person(){
}
class 里面还有取值函数(getter),设值函数(setter)
class Person{
constructor(){
}
get aaa(){
return "aaa的属性"
}
set aaa(val){
console.log("设置aaa的属性")
}
}
let p1=new Person();
p1.aaa;这个就会调用get方法
p1.aaa="asadsad";这样写就会调用set方法

浙公网安备 33010602011771号