Spec-Zone.ru › Kotlin 2

JsExport

kotlin-stdlib/kotlin.js/JsExport

Требования к платформе и версии: Common (1.4), JS (1.3)

@ExperimentalJsExport
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.FILE])
expect annotation class JsExport

Экспортирует объявление верхнего уровня на платформе JS.

Скомпилированный модуль предоставляет объявления, помеченные этой аннотацией, без искажения имён (name mangling).

Эту аннотацию можно применять как к файлам, так и к объявлениям верхнего уровня.

В настоящее время запрещено экспортировать следующие виды объявлений:

  • Объявления expect

  • inline-функции с reified-параметрами типов

  • suspend-функции

  • вторичные конструкторы без @JsName

  • свойства-расширения

  • enum-классы

  • классы аннотаций

Сигнатуры экспортируемых объявлений должны содержать только «экспортируемые» типы:

  • dynamic, Any, String, Boolean, Byte, Short, Int, Float, Double

  • BooleanArray, ByteArray, ShortArray, IntArray, FloatArray, DoubleArray

  • Array<exportable-type>

  • Функциональные типы с экспортируемыми параметрами и возвращаемыми типами

  • Классы и интерфейсы external или @JsExport

  • Nullable-аналоги указанных выше типов

  • Возвращаемый тип Unit. Не должен быть nullable

Эта аннотация является экспериментальной, что означает, что упомянутые выше ограничения могут измениться.

Требования к платформе и версии: Wasm-JS (1.8)

@ExperimentalJsExport
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
actual annotation class JsExport

Экспортирует объявление верхнего уровня на платформе JS.

Может применяться только к функциям верхнего уровня.

Типы

Default

Требования к платформе и версии: Common (2.3), JS (2.3)

@ExperimentalJsExport
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION])
expect annotation class Default

Эта аннотация указывает, что экспортируемое объявление должно экспортироваться как default на платформе JS.

Требования к платформе и версии: Wasm-JS (2.3)

@ExperimentalJsExport
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY])
actual annotation class Default

Эта аннотация указывает, что экспортируемое объявление должно экспортироваться как default на платформе JS.

Ignore

Требования к платформе и версии: Common (1.8)

@ExperimentalJsExport
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR])
expect annotation class Ignore

Эта аннотация предотвращает экспорт помеченного члена экспортируемого класса. Она является экспериментальной, что означает, что описанные выше ограничения могут измениться.

Требования к платформе и версии: JS (1.8)

@ExperimentalJsExport
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.CONSTRUCTOR])
actual annotation class Ignore

Аннотация предотвращает экспорт помеченного члена экспортируемого класса. Эта аннотация является экспериментальной, что означает, что упомянутые выше ограничения могут измениться.

Требования к платформе и версии: Wasm-JS (1.8)

@ExperimentalJsExport
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.CONSTRUCTOR])
actual annotation class Ignore

Эта аннотация предотвращает экспорт помеченного члена экспортируемого класса. Она является экспериментальной, что означает, что описанные выше ограничения могут измениться.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API