title: JavaScript conventions for implementation-defined identifiers
body: <p>In C, if a compiler wants to provide implementation-defined identifiers (language extensions, intrinsics, pseudo-functions and pseudo-macros, basically anything that's not a reserved keyword by the language standard but also isn't a regular function) the convention is for the names to be prefixed with an underscore; it is understood that code should not use such names for normal purposes.</p>
  
  <p>Is there an equivalent convention in JavaScript? Or, if a JavaScript compiler wants to provide implementation-defined identifiers for special purposes, and avoid collisions with identifiers normally used in code, what is the best way for it to do so?</p>