Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6088353
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T11:58:29+00:00 2026-05-23T11:58:29+00:00

I see some attributes of some objects in JavaScript start with double underscore. For

  • 0

I see some attributes of some objects in JavaScript start with double underscore. For example, something like __defineGetter__ or __defineSetter__ or __proto__.
Is it a convention defined ECMAScript specification? Or maybe it’s just a convention in the developer community?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T11:58:30+00:00Added an answer on May 23, 2026 at 11:58 am

    These are properties defined by the specific browser and are not defined by ECMAScript.

    Therefore, name collision needs to be avoided. If they called the property defineGetter, then there would be no guarantee that the website’s code didn’t already define a property by that same name — and that would cause many problems. However, appending two underscores has become the defacto way to define browser specific properties (since it’s much less likely some website will use that convention).

    You may notice that other browsers start using the same naming convention as others (like using __proto__), but that’s still not universally guaranteed between all browsers (eg, IE does not define the __proto__ property).

    Also: the convention of using two underscores for “system-defined” identifiers (as opposed to programmer-defined identifiers) harkens back a long time, so I don’t know when that convention “started” — At least as long as C++ (see http://en.wikipedia.org/wiki/Name_mangling#Simple_example )

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I see some frameworks like Django using unicode all over the place so it
I see some apps like 'Lock Calendar' that include this feature, and I know
In documentation code I see some things like this: /* * @(#)File.java 1.142 09/04/01
I have a OpenLDAP Database and it holds some project objects that look like
I'm developing a plugin that has node(computer) objects with attributes like: String name String
In Core Data, is there some trick to saving changes to managed objects' attributes
I see some resources for gcc, but not for Visual Studio. Anyone have a
I see some people write: //wordList is List<string> wordList.ForEach(delegate(string word){ Console.WriteLine(word);}); instead of: foreach(string
I see some code where the author has truncated a temp table immediately before
I look around and see some great snippets of code for defining rules, validation,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.