Spec-Zone.ru › Kotlin 2

JsName

kotlin-stdlib/kotlin.js/JsName

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

@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER])
expect annotation class JsName(val name: String)

Задаёт объявлению (функции, свойству или классу) определённое имя в JavaScript.

В Kotlin/Wasm взаимодействие с JavaScript является экспериментальным, и поведение этой аннотации может измениться в будущем.

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

@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER])
actual annotation class JsName(val name: String)

Задаёт объявлению (функции, свойству или классу) определённое имя в JavaScript.

Это может быть полезно в следующих случаях:

  • Если есть две функции, которым компилятор присваивает одинаковое имя в JavaScript, можно пометить одну из них с помощью @JsName(...), чтобы компилятор не сообщал об ошибке.

  • Вы пишете библиотеку JavaScript на Kotlin. Компилятор создаёт искажённые имена для функций с параметрами, что непривычно для обычного разработчика JavaScript. Можно указать @JsName(...) для функций, которые должны быть доступны из JavaScript.

  • По какой-либо причине вы хотите переименовать объявление, например, если в JavaScript есть общепринятый термин для понятия, представленного этим объявлением, который не является распространённым в Kotlin.

Пример:

class Person(val name: String) {
fun hello() {
println("Hello $name!")
}

@JsName("helloWithGreeting")
fun hello(greeting: String) {
println("$greeting $name!")
}
}

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

@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER])
actual annotation class JsName(val name: String)

Задаёт объявлению (функции, свойству или классу) определённое имя в JavaScript.

Взаимодействие с JavaScript является экспериментальным, и поведение этой аннотации может измениться в будущем.

Свойства

name

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

expect val name: String

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

actual val name: String

имя, которое компилятор использует как для самого объявления, так и для всех ссылок на него. Оно должно быть допустимым идентификатором JavaScript.

© 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-name/index.html

Spec-Zone.ru

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