作为一个 JS 初学者,我想了解一下 let
声明的一种用法,如下 MDN 所示,
You can use let definitions to alias pseudo-namespaced code in extensions. (See Security best practices in extensions.)
let Cc = Components.classes, Ci = Components.interfaces;
什么是伪命名空间代码?
如何使用 let
关键字为伪命名空间代码添加别名?
最佳答案
在 Javascript 中处理命名空间时,总是指定完整的命名空间来访问值或方法很快就会变得烦人。例如:
let myModule = {
mySubModule: {
mySubSubModule: {
myMethod: function () {}
}
}
};
// to use myMethod, we need to write the full namespace
myModule.mySubModule.mySubSubModule.myMethod();
通过将“路径”存储在变量中,我们可以避免每次需要调用 myMethod 时都写入完整的命名空间:
let shortcut = myModule.mySubModule.mySubSubModule;
shortcut.myMethod();
我不太明白为什么有一段专门针对 Firefox 扩展。只要您的浏览器理解 Ecmascript 6 规范的 let
关键字,您就可以在任何您想要的命名空间中自由地使用此技术。它也可以与 var
关键字一起使用,但您不会从 block 作用域等功能中受益。
关于javascript - 如何使用let关键字为伪命名空间代码添加别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31891479/