var obj = {
name: '正函数',
getname: function() {
return this.name
}
}
console.log(obj.name) //正函数,是可以正常访问的
console.log(obj.getname()) //正函数
//第一种方法通过Symbol
let nameSymbolKey = Symbol('name');
var obj = {
[nameSymbolKey]: '正函数',
getname: function() {
return this[nameSymbolKey]
}
}
console.log(obj.name) //undefined,此时已经满足私有属性的概念 外部无法访问
console.log(obj.getname()) // 正函数,内部是可以访问的
// symbol 缺点:如果知道私有属性的引用还是可以访问
console.log(obj[nameSymbolKey]) //正函数,使用引用照样能够访问