Префикс префикса члена интерфейса TypeScript - PullRequest
0 голосов
/ 14 ноября 2018

Задача

Согласно моему исследованию, интерфейсы машинописного текста существуют только во время компиляции и не имеют соответствующей структуры в JS, в то время как класс делает.

Вот почему вы не можете явно реализовать интерфейсы, как вы можете сделать это на других языках, таких как, например, c #.

рассмотрим этот пример:

export interface FooableBar {
    foo();
}

export class Bar implements FooableBar {
    foo(){}
}

Конечно, если бы я хотел иметь другую реализацию foo() для Bar, я мог бы просто переименовать ее.

Но что, если Bar должен был реализовать второй интерфейс, подобный этому:

export interface SpecialFooable {
    foo();
}

Именно здесь явные реализации отлично справились бы с работой. К сожалению, это должно быть сделано с именами.

Вопрос

Обычно спрашивают: Каков наилучший способ сделать это в TypeScript?

или Какое соглашение о присвоении имен больше всего соответствует понятиям TypeScript?

Например, я обнаружил, что обычно используют префикс для библиотек или сред, таких как angular. Где можно найти этот интерфейс:

export interface OnInit {
    ngOnInit();
}
Префикс

1033 * действительно дает возможность просто реализовать onInit() наш собственный, но в моем случае добавление префикса app не решит проблему вообще.

1 Ответ

0 голосов
/ 14 ноября 2018

Я нашел решение префиксировать аббревиатуру имени интерфейса:

export interface SomeFancyDelegate {
    sfdLoadData();
}

Но я все еще заинтересован в любом другом или, надеюсь, лучшем решении.

В любом случае, не хотите ли вы в этом случае использовать префикс членов интерфейса для согласованности?

...