如何使用let关键字为伪命名空间代码设置别名?

时间:2015-08-08 09:04:32

标签: javascript ecmascript-6

作为JS的初学者,我想了解let声明的一种用法,如下所示MDN

  

您可以使用let定义在扩展中为伪命名空间代码设置别名。 (请参阅扩展中的安全最佳做法。)

     

let Cc = Components.classes, Ci = Components.interfaces;

什么是伪命名空间代码?

如何使用let关键字对伪命名空间代码进行别名?

1 个答案:

答案 0 :(得分:2)

在Javascript中处理命名空间时,总是指定完整的命名空间来访问值或方法会很烦人。例如:

{ "a": [1,2,3] },
{ "a": [1,2,4] }

通过在变量中存储“path”,我们可以避免在每次需要调用myMethod时编写完整的命名空间:

let myModule = {
  mySubModule: {
    mySubSubModule: {
      myMethod: function () {}
    }
  }
};
// to use myMethod, we need to write the full namespace
myModule.mySubModule.mySubSubModule.myMethod();

我真的不明白为什么有专门针对Firefox扩展的段落。只要您的浏览器理解Ecmascript 6规范的let shortcut = myModule.mySubModule.mySubSubModule; shortcut.myMethod(); 关键字,您就可以随意使用此技术。它也适用于let关键字,但您不会受益于块范围等功能。