通过传入的类属性名获取、修改对应的类属性:
 1     var label_set =  '';
 2     var type_set =   '';
 3     var labelOption = '';      
 4     class Service_data{
 5         constructor() {
 6             //固定属性
 7             this.conversationCount =  {name:'会话数',type:type_set, label: label_set ,data: []};
 8             this.doubleConversationCount =  {name: '两人会话总数', type: type_set,  label: label_set ,data: []};
 9             this.temporaryConversationCount =  {name: '临时多人会话', type: type_set,  label: label_set ,data: []};
10             this.groupConversationCount =  {name: '群组会话总数', type: type_set , label: label_set , data: []};
11             this.informationNumCount =  {name: '资讯号总数', type: type_set , label: label_set , data: []};
12             this.informationCount =  {name: '资讯总数', type: type_set , label: label_set , data: []};
13             this.informationReadCount =  {name: '阅读数', type: type_set ,  label: label_set,data: []};
14             this.informationCommentCount =  {name: '资讯评论数', type: type_set , label:label_set , data: []};
15             this.informationPraiseCount =  {name: '资讯点赞总数', type: type_set , label: label_set, data: []};
16             this.colleaguesCount =  {name: '同事圈总数', type: type_set ,  label: label_set,data: []};
17             this.colleaguesCommentCount =  {name: '同事圈评论总数', type: type_set , label:label_set, data: []};  
18         }
19         setdata(name,list){
20             if(this.hasOwnProperty(name)){
21                 let save_data = Object.getOwnPropertyDescriptor(this,name).value;
22                 save_data.data = list;
23             }else{
24                 console.log(name+"没有对应属性!");
25             }
26         }
27         getdata(name){
28             if(this.hasOwnProperty(name)){
29                 return Object.getOwnPropertyDescriptor(this,name).value;
30             }else{
31                 console.log(name+"没有对应属性!");
32             }
33         }
34     }
35     var service_dataInit = new Service_data();
36     var setdata_resule = service_dataInit.setdata('conversationCount',['1','2']);
37     var getdata_resule = service_dataInit.getdata('conversationCount');
38     console.log(getdata_resule);    

 

使用方法:

 

Object.getOwnPropertyDescriptor() 方法返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性)

参数

obj
需要查找的目标对象
prop
目标对象内属性名称(String类型)

返回值

如果指定的属性存在于对象上,则返回其属性描述符对象(property descriptor),否则返回 undefined


 

hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性

参数

prop
要检测的属性  字符串 名称或者 Symbol

返回值

用来判断某个对象是否含有指定的属性的 Boolean 。