JavaScript中的private和public字词到底有多保留?

| 每次构建JS库时,我都有这种概念:
(function(window,undefined){
  var LibName = function(){
    var privateAPI = {
      method: function(){}
    };
    var publicAPI = {
      publicMethod: function(){}
    };
    return publicAPI;
  }
  window.LibName = LibName;
})();
但是我一直渴望只做:
(function(window,undefined){
  var LibName = function(){
    var private = {
      method: function(){}
    };
    var public = {
      publicMethod: function(){}
    };
    return public;
  }
  window.LibName = LibName;
})();
但是我从来没有做过,因为那些都是保留字。他们到底有多保留?浏览器会失败吗?在我的测试中,一切似乎都正常,但是我缺少什么吗?     
已邀请:
        https://developer.mozilla.org/zh-CN/JavaScript/Reference/Reserved_Words 和 官方规范为http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf。 它们在7.6.1.2中列为“保留供将来使用”。     
        始终假定使用保留字不当会导致应用程序失败。 诸如
public
和like3ѭ之类的单词是将来保留的单词,因此即使它们现在可以使用,将来也可能不会使用。     
        我不建议使用私人和公共场所。但是只有将严格模式与“使用严格”一起使用,您会得到一个错误:https://developer.mozilla.org/en/JavaScript/Strict_mode 如果您想确保它将来可以使用,则必须使用括号:
this[\"private\"] = {
  method: function() {}
}
我更喜欢将var缩短为\“ pub \”和\“ priv \”。所以我使用这样的模式:
namespace.decorator = function (pub, priv) {
  pub = pub || {};
  priv = priv || {};
  //namespace.decoratorToExtend(pub, priv);
  pub.method = function() {alert(pub.prop)};
  return pub;
}
var instance = namespace.decorator({prop:\'hello world\'});
instance.method();
    
        根据我对javascript中保留字的经验,该代码将因诸如语法错误之类的错误而出错。     

要回复问题请先登录注册