我想知道在使用UI5时使用let
和const
关键字是否安全。我不知道是否返回let
,const
甚至使用sap.m.Table
创建例如let
都会产生不利影响。
也许有人对此有一些经验?
最佳答案
我认为您担心浏览器不兼容吗? let
和const
是用于声明变量的构造;它们不影响对象寿命。 let
声明一个块范围变量,而const
声明一个只读变量。这些变量中包含的对象具有完全不同的生命周期。
这实际上不是UI5问题,而是一般的JavaScript问题。无论使用哪种库,应用程序的兼容性都取决于两个因素:
您正在使用的每个库的兼容性矩阵。
您正在编写的代码的兼容性。
由于您无法真正控制兼容性matrix of UI5(应该涵盖ES6的兼容性矩阵),因此所有这些都归结为您必须问自己的两个主要问题:
我支持哪些浏览器?
我可以使用某些东西来转换我的代码以支持较旧的浏览器吗?
对于第一个问题,如果您只关心可本地支持ES6(not IE)的浏览器,则可以肯定使用它。否则,第二个问题可能更有意义。如果您有体面的C.I.为您的应用程序提供适当的管道,然后可以使用babel之类的东西将闪亮的ES6代码转换为IE非常喜欢的冗长的意大利面条。
以后编辑:
根据评论,我要指出,ES6并非全有或全无支持。即使不是完整的ES6,功能子集(如对const和let的支持)也可用于某些浏览器(IE)。具体来说,基于https://caniuse.com/#feat=let和https://caniuse.com/#feat=const,看来IE11中提供了let
和const
(但在较早的版本中不可用)。不支持其他功能,例如ES6 class definitions。