我一直在想:为什么private在 JS 类中,他们决定使用符号而不是通常的关键字#?
到目前为止我还没有真正寻找它,但是通过简单的搜索,他们基本上说它在 JS 中被使用,以及如何使用它的#更多private示例,但他们没有回答为什么?
今天我决定还是要找到答案,因为。我敢肯定我不是唯一一个问这个问题的人。好吧,在搜索中,我遇到了专门针对该主题的完整常见问题解答(英文)
我一直在想:为什么private在 JS 类中,他们决定使用符号而不是通常的关键字#?
到目前为止我还没有真正寻找它,但是通过简单的搜索,他们基本上说它在 JS 中被使用,以及如何使用它的#更多private示例,但他们没有回答为什么?
今天我决定还是要找到答案,因为。我敢肯定我不是唯一一个问这个问题的人。好吧,在搜索中,我遇到了专门针对该主题的完整常见问题解答(英文)
问题为什么要标志
#?给出以下答案:对问题为什么不使用关键字
private?给出以下答案:因此,如果第一个问题一切都清楚,那么对于第二个问题,我有一堆问题。参考(见上文),如果我理解正确,指的是这两个(嗯,或两者)点之一。首先,我将给出他们的翻译:
this.x?(原创)x?(原创)仔细研究了指定的注释,我终于明白为什么他们没有
private按照其他语言的习惯输入它。以下是评论的第一部分:如果你想问为什么不只是 obj.x 总是引用声明私有字段 x 的类中的私有字段?,则给出以下答案:
如果您有时间和愿望,可以阅读有关此问题的整个讨论。
简而言之,人们对这个决定非常不满,并提供了多种方式和方法来按照通常的方式来做。从我对几乎所有评论的快速浏览中,我可以区分出 3 种类型的句子:
@改为使用##或全新的东西。例如像this#x(没有点)。或this->x。或者,例如,声明 c usingprivate,但通过访问this.#x这些建议的几乎所有答案都是:
我以及许多其他评论员唯一不清楚的是,将为什么
protected或其他关键字发明什么?我们每次都必须在名字前写一堆字符吗?就个人而言,这一切让我对作者的立场和选择有了清晰的认识,希望对提出这个问题的人也有帮助:)