Symbol 实现属性私有化的方式
程序员文章站
2022-04-02 23:52:10
//一般通过私有变量来保存私有属性 通过原型方法(getSex)来访问该属性 实现该属性只能被访问无法直接改变属性值 const Person = (function(){ let _sex = "" function P(name,sex){ this.name = name _sex = sex ......
-
//一般通过私有变量来保存私有属性 通过原型方法(getsex)来访问该属性 实现该属性只能被访问无法直接改变属性值
const person = (function(){ let _sex = "" function p(name,sex){ this.name = name _sex = sex } p.prototype.getsex = function(){ return _sex } return p }()) let p1 = new person('张三','男') console.log(p1.getsex()) //使用symbol来实现属性的私有化----ps(感觉上面的方式更好理解啊) const person = (function(){ let _sex = symbol('sex') function p(name,sex){ this.name = name this[_sex] = sex } p.prototype.say = function(){ return this[_sex] } return p }()) let p1 = new person('张三','男') console.log(p1) console.log(p1.say())