【发布时间】:2013-09-17 02:08:52
【问题描述】:
我是 js 新手,我想知道为什么 js 中的几乎所有属性都是公开的。 我来自 C++,我只使用私有属性进行编程,并通过 getter 和 setter 进行访问。
【问题讨论】:
-
我认为这是因为 JavaScript 没有任何样式指南。 C++ 和 C# 以及其他使用 OOP 的语言都可以使用。 JavaScript 也不是为 oop 作为主要目的而设计的。
-
@DennisZiolkowski JavaScript 具有原型设计和构造函数、对象字面量,所有这些都乐于采用函数或更多对象 作为属性,这个
this关键字,可以定义属性的可枚举性和可配置性。事实上,JavaScript 中几乎所有的东西都是一个Object。这怎么不是面向对象的? private 属性的缺乏更多是因为它的工作方式非常不同;一切都与范围和封闭有关。 -
如果您是 JavaScript 新手,除了已经链接的资源之外,还有一个很棒的资源是 JavaScript MDN,这也是 Crockford 的书之一“JavaScript_The_Good_Parts”也很棒。
-
如果你习惯了 getter 和 setter,你仍然可以使用它们,你只需引用 vars 而不是私有属性;这两个概念之间没有太大的实际差异。
标签: javascript properties public