Size: a a a

2021 February 04

u

uda in Frontend UA
Ребят, а как правильно в typescript писать интерфейс для класса со статическими методами?
источник

SS

Serhey Shmyg in Frontend UA
uda
Ребят, а как правильно в typescript писать интерфейс для класса со статическими методами?
источник

u

uda in Frontend UA
не совсем понял, тут же о статических свойствах/методах, но не о интерфейсах для них
источник

EO

Eugene Obrezkov in Frontend UA
uda
не совсем понял, тут же о статических свойствах/методах, но не о интерфейсах для них
в интерфейсах этого нету, вроде
источник

EO

Eugene Obrezkov in Frontend UA
пробовал просто static написать?
источник

u

uda in Frontend UA
да, но ругается типо метод не имплементирован
источник

u

uda in Frontend UA
'static' modifier cannot appear on a type member.
источник

u

uda in Frontend UA
спасибо, 5 мин, шото посыпалось от тестов решений 🙂
источник

EO

Eugene Obrezkov in Frontend UA
uda
'static' modifier cannot appear on a type member.
ну, написано же, что нельзя использовать static в интерфейсах)
источник

u

uda in Frontend UA
выходит мы не можем писать интерфейсы для классов со статическими методами?
на стаке есть костыль, но у меня не завелось
источник

DB

Dima Bildin in Frontend UA
Можно, если очень нужно, попробовать изворачиваться с

interface MyInterface {
 staticMethod(): void;
}

const MyClass: MyInterface = class {}


Но я б так не делал)
источник

u

uda in Frontend UA
можно не изворачиваться, но как обычно делают в таких случаях? ))
источник

u

uda in Frontend UA
типо убрать в линтере проверку на this? ))
источник

EO

Eugene Obrezkov in Frontend UA
uda
можно не изворачиваться, но как обычно делают в таких случаях? ))
делают абстрактный класс?)
источник

EO

Eugene Obrezkov in Frontend UA
чтобы собрать больше классов
источник

EO

Eugene Obrezkov in Frontend UA
с абстрактным статическим методом
источник

EO

Eugene Obrezkov in Frontend UA
в интерфейсе же описывается shape данных, им пофиг что там статик а что нет
источник

DB

Dima Bildin in Frontend UA
А для чего интерфейс со статическими методами? Они будут наследоваться или имплементироваться разные в разных классах, имплементирующих один интерфейс?
источник

EO

Eugene Obrezkov in Frontend UA
abstract class Animal {
 abstract static whoAmI(): string
}

class Dog implements Animal {
 static whoAmI() {
   return 'dog';
 }
}
источник

EO

Eugene Obrezkov in Frontend UA
типа так
источник