Js Export
Требования к платформе и версии: Common (1.4), JS (1.3)
expect annotation class JsExport@Target(allowedTargets = [AnnotationTarget.CLASS,AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.FILE ] )
Экспортирует объявление верхнего уровня на платформе JS.
Скомпилированный модуль предоставляет объявления, помеченные этой аннотацией, без искажения имён (name mangling).
Эту аннотацию можно применять как к файлам, так и к объявлениям верхнего уровня.
В настоящее время запрещено экспортировать следующие виды объявлений:
Объявления
expectinline-функции с reified-параметрами типов
suspend-функции
вторичные конструкторы без
@JsNameсвойства-расширения
enum-классы
классы аннотаций
Сигнатуры экспортируемых объявлений должны содержать только «экспортируемые» типы:
dynamic,Any,String,Boolean,Byte,Short,Int,Float,DoubleBooleanArray,ByteArray,ShortArray,IntArray,FloatArray,DoubleArrayArray<exportable-type>Функциональные типы с экспортируемыми параметрами и возвращаемыми типами
Классы и интерфейсы
externalили@JsExportNullable-аналоги указанных выше типов
Возвращаемый тип Unit. Не должен быть nullable
Эта аннотация является экспериментальной, что означает, что упомянутые выше ограничения могут измениться.
Требования к платформе и версии: Wasm-JS (1.8)
actual annotation class JsExport
Экспортирует объявление верхнего уровня на платформе JS.
Может применяться только к функциям верхнего уровня.
Типы
Требования к платформе и версии: Common (2.3), JS (2.3)
expect annotation class Default@Target(allowedTargets = [AnnotationTarget.CLASS,AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION ] )
Эта аннотация указывает, что экспортируемое объявление должно экспортироваться как default на платформе JS.
Требования к платформе и версии: Wasm-JS (2.3)
actual annotation class Default@Target(allowedTargets = [AnnotationTarget.CLASS,AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY ] )
Эта аннотация указывает, что экспортируемое объявление должно экспортироваться как default на платформе JS.
Требования к платформе и версии: Common (1.8)
expect annotation class Ignore@Target(allowedTargets = [AnnotationTarget.CLASS,AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR ] )
Эта аннотация предотвращает экспорт помеченного члена экспортируемого класса. Она является экспериментальной, что означает, что описанные выше ограничения могут измениться.
Требования к платформе и версии: JS (1.8)
actual annotation class Ignore@Target(allowedTargets = [AnnotationTarget.CLASS,AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR ] )
Аннотация предотвращает экспорт помеченного члена экспортируемого класса. Эта аннотация является экспериментальной, что означает, что упомянутые выше ограничения могут измениться.
Требования к платформе и версии: Wasm-JS (1.8)
actual annotation class Ignore@Target(allowedTargets = [AnnotationTarget.CLASS,AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.CONSTRUCTOR ] )
Эта аннотация предотвращает экспорт помеченного члена экспортируемого класса. Она является экспериментальной, что означает, что описанные выше ограничения могут измениться.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.js/-js-export/index.html