作为JS的初学者,我想了解let
声明的一种用法,如下所示MDN,
您可以使用let定义在扩展中为伪命名空间代码设置别名。 (请参阅扩展中的安全最佳做法。)
let Cc = Components.classes, Ci = Components.interfaces;
什么是伪命名空间代码?
如何使用let
关键字对伪命名空间代码进行别名?
答案 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
关键字,但您不会受益于块范围等功能。