KotlinJS: ¿Cuándo usaría el tipo dynamic Kotlin?

Esto está relacionado con KotlinJS (transpiling Kotlin a JavaScript):

Kotlin tiene un tipo dynamic que se ve de la siguiente manera:

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

No se ejecutarán comprobaciones de tipo y el código simplemente se tomará "tal cual" en los files JS resultantes.

"La característica más peculiar de la dinámica es que podemos llamar a cualquier propiedad o function con cualquier parámetro en una variable dinámica"

Aunque el concepto tiene sentido para mí, me he estado preguntando en qué situaciones necesitaríamos esta característica. ¿Alguien tiene ejemplos concretos o casos de uso?

Kotlin nos permite escribir JavaScript seguro , que es una de las razones para hacer uso de la transpiración, ¿verdad? ¿Por qué abandonaríamos esto y usaríamos la dinámica entonces?

Hay un caso de uso de ejemplo para dynamic types dynamic en la documentation :

Si desea usar, por ejemplo, un plugin JQuery (por ejemplo, table thingy), que no proporciona los files de encabezado correspondientes, debe llamarlo dinámicamente porque no hay un equivalente de Kotlin para la biblioteca disponible que pueda usarse para el análisis estático.

De esta forma, podríamos llamar a dataTable() en nuestro tipo dynamic aunque la function no se conoce en time de compilation.

Además, a veces puede haber la posibilidad de progtwigr contra una interfaz segura para la compilation, que es difícil de conseguir. Si luego puede renunciar a la security de tipo para get concisión a cambio, podría ser aceptable usar dynamic . Tal ejemplo se describe en la siguiente publicación: https://medium.com/@Cypressious/your-second-firefox-extension-in-kotlin-bafd91d87c41

"Trabajar con declaraciones externas: el modo estático" vs. "Trabajar con declaraciones externas: el modo dynamic"

  • Kotlin - Defina la variable globalmente para WebView
  • ¿Cómo creo una function de extensión en Kotlin, que opera en una class?
  • El constructor de SAM networkingundante no se puede eliminar para la function declarada de Kotlin, pero funciona en la function declarada de Java
  • Kotlin: ¿Cómo puedo pasar un pnetworkingicado a la function CharSequence.any ()?
  • ¿Cómo puedo forzar las llamadas a algunos constructores / funciones para usar arguments con nombre?
  • Kotlin language obtiene class en time de ejecución
  • Clase abstracta de Kotlin con param genérico y methods que usan param de tipo
  • Kotlin - Subclass RecyclerView.ViewHolder: no se puede acceder a una propiedad adicional
  • ¿Puedo invocar el complemento noargs de Kotlin desde la command-line o desde Ant?
  • ¿Kotlin estructural equality check super types?
  • Cómo convertir la expresión de asignación de Java a Kotlin