JsName
Требования к платформе и версии: JS (1.1)
@Target([AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER]) annotation class JsName
Для Common
Присваивает объявлению (функции, свойству или классу) специфическое имя в JavaScript.
Для JS
Присваивает объявлению (функции, свойству или классу) специфическое имя в 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!")
}
}
Конструкторы
Требования к платформе и версии: JS (1.0)
<init>
Присваивает объявлению (функции, свойству или классу) специфическое имя в JavaScript.
<init>(name: String)
Свойства
Требования к платформе и версии: JS (1.0)
name
Имя, которое компилятор использует как для самого объявления, так и для всех ссылок на него. Оно должно быть валидным идентификатором JavaScript.
val name: String
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-js-name/index.html