首页 >web前端 >js教程 >JavaScript 中的下划线前缀是否真正强制执行私有成员?

JavaScript 中的下划线前缀是否真正强制执行私有成员?

Susan Sarandon
Susan Sarandon原创
2024-11-02 21:17:02951浏览

Does Underscore Prefix in JavaScript Truly Enforce Private Members?

下划线前缀:JavaScript 中的约定或意义

在编程中,下划线前缀通常用于表示私有或内部元素。这个约定仅仅是 JavaScript 中的一个建议吗?类似于 Python 中私有方法的处理?

Python 的文档指出,以下划线前缀的变量旨在保留为类的非公共成员。 JavaScript 是否遵循此范例?

在 JavaScript 中,下划线前缀在语言语法中没有固有含义。它只是开发人员用来指示属性或方法不供外部使用的约定。

考虑以下代码片段:

<code class="javascript">function AltTabPopup() {
    this._init();
}

AltTabPopup.prototype = {
    _init : function() {
        ...
    }
}</code>

这里,_init 被指定为内部方法由下划线前缀组成。类似地,私有变量也可以用下划线标记:

<code class="javascript">this._currentApp = 0;
this._currentWindow = -1;
this._thumbnailTimeoutId = 0;
this._motionTimeoutId = 0;</code>

虽然 JavaScript 中的下划线前缀纯粹是一种约定,但它对于寻求在内部公共元素和私有元素之间建立区别的开发人员来说具有重要的用途。他们的班级。通过遵守此约定,很明显某些方法和属性应被视为类的内部方法和属性,从而阻止外部访问。

总之,JavaScript 中的下划线前缀是一种与常见做法保持一致的约定使用它来表示私有成员。尽管语言没有明确强制执行,但它传达了意图并鼓励封装,使其成为一种有用的约定。

以上是JavaScript 中的下划线前缀是否真正强制执行私有成员?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn