KotlinJS:我什么时候可以使用Kotlin动态types

这与KotlinJS (将Kotlin转换为JavaScript)相关:

Kotlin有一个dynamictypes,如下所示:

 val dyn: dynamic ="String" dyn.thisMethodDoesNotExist(1,2,3) 

将不会执行任何types检查,代码将被“按原样”放入生成的JS文件中。

“动态最奇特的特点是允许我们用动态variables上的任何参数调用任何属性或函数”

虽然这个概念对我来说很有意义,但我一直在想,在什么情况下我们需要这个function。 有没有人有具体的例子或用例?

Kotlin允许我们编写types安全的 JavaScript,这是利用转译事物的原因之一,对吗? 为什么我们要放弃并使用动态呢?

文档中有一个用于dynamictypes的示例用例:

如果你想使用例如JQuery 插件 (例如table thingy),它没有提供相应的 文件 ,你必须动态地调用它,因为没有可用于静态分析的库的Kotlin等价物。

这样,我们可以在我们的动态types上调用dataTable() ,尽管函数在编译时是不知道的。

另外,有时可能会有编程安全的界面,这是很难得到的。 如果你可以放弃types安全来获得简洁的回报,那么使用dynamic可能是可以接受的。 这样的例子在下面的文章中描述: https : //medium.com/@Cypressious/your-second-firefox-extension-in-kotlin-bafd91d87c41

“使用外部声明 – 静态方式” “使用外部声明 – 动态方式”