KotlinJS:我什么时候会使用Kotlin动态类型

时间:2017-11-24 07:22:48

标签: javascript kotlin

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

Kotlin的val dyn: dynamic ="String" dyn.thisMethodDoesNotExist(1,2,3) 类型如下所示:

{{1}}

不会运行任何类型检查,代码将被简单地采用"按原样#34;进入生成的JS文件。

  

"动态最特殊的特征是允许我们使用动态变量上的任何参数调用任何属性或函数"

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

Kotlin允许我们编写类型安全 JavaScript,这是利用翻译事物的原因之一,对吧?那么我们为什么要放弃并使用动力学呢?

1 个答案:

答案 0 :(得分:2)

documentationdynamic类型的一个示例用例:

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

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

此外,有时候可能有可能针对编译安全的接口进行编程,这很难获得。如果您可以放弃类型安全性以获得简洁性,那么使用dynamic可能是可以接受的。以下帖子中描述了这样的示例:https://medium.com/@Cypressious/your-second-firefox-extension-in-kotlin-bafd91d87c41

"使用外部声明 - 静态方式" VS "使用外部声明 - 动态方式"