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"

  • ¿Cuáles son las mejores prácticas para "recortar" una stack de exception antes de iniciar session con SLF4J?
  • Base de datos de android de Kotlin: no se puede convertir java.lang.String en android.database.Cursor
  • Suprime "Identificador no permitido en Android"
  • ¿Cómo las funciones de almacenamiento en la colección estática afectarán el sistema?
  • Obtenga KProperty de una propiedad de extensión sin package
  • Kotlin Expuesto no realiza transacción
  • Filtrar datos de una colección con una cadena específica
  • No se puede recuperar uno de los datos nesteds de Firebase Realtime Database
  • Android Spinner no responde a los clics, no se cierra y OnItemSelectedListener no se activa
  • ¿Cómo pasar arguments a la secuencia de commands kotlin?
  • Tiene reference no resuelta: setText cuando convierte java en kotlin