在看阮一峰的es6教程,发现类class的私有方法能在外面访问,这是为什么,私有属性不是不能在外面访问吗? 还有,为什么私有属性能被子类继承和实例继承?
var foo = Symbol('foo')
class Parent {
constructor(name){
this.name = name
}
[foo](){ // 私有方法
console.log('foo')
}
}
class Child extends Parent{
constructor(){
super()
}
}
Child.prototype[foo]() // 'foo' 被子类传承
var p = new Parent('dog')
p[foo]() // 'foo' 被实例继承
并没有私有方法 只是方法名为symbol不易被访问到