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方法

  

 

posted @ 2020-09-03 08:13  秋天的故事  阅读(136)  评论(0编辑  收藏  举报