Javascript 实现的类属性私有化
2021-02-05 21:16
标签:定义类 直接 构造函数 default 对象 ons rip dem export ES6 中实现对象编程 定义类方法 非私有化属性直接定义即可,例如 这样在实例化类之后即可进行访问属性 当想要定义私有化属性的时候,即不想在使其在外部可以直接访问或定义可以用WeakMap来实现 WeakMap散列的KEY值是对象,所以在外部无法进行直接访问与设置,在内部可以用set,get来提供获取与设置接口 使用export default 提供 Javascript 实现的类属性私有化 标签:定义类 直接 构造函数 default 对象 ons rip dem export 原文地址:https://www.cnblogs.com/Gasg/p/12785925.htmlclass A{
constructor(){
//构造函数 用来定义初始化数据
}
}
class A{
constructor(){
//构造函数 用来定义初始化数据
this.publicAttrbute = {};
}
}
var a = new A();
console.log(a.publicAttrbute);
const privateAttrbute = new WeakMap();
class A{
constructor(){
//构造函数 用来定义初始化数据
privateAttrbute.set(this, {}) //初始化私有属性
}
}
const privateAttrbute = new WeakMap();
class A{
constructor(){
//构造函数 用来定义初始化数据
privateAttrbute.set(this, {}) //初始化私有属性
}
get private(){
return privateAttrbute.get(this);
}
set private(value){
privateAttribute.set(this.value);
}
demo(){
this.private[‘test‘] = 1;
}
}
export default (function(){
const privateAttrbute = new WeakMap();
class A{
constructor(){
//构造函数 用来定义初始化数据
privateAttrbute.set(this, {}) //初始化私有属性
}
get private(){
return privateAttrbute.get(this);
}
set private(value){
privateAttribute.set(this.value);
}
demo(){
this.private[‘test‘] = 1;
}
}
return A;
})()
文章标题:Javascript 实现的类属性私有化
文章链接:http://soscw.com/index.php/essay/51503.html