インスタンスをエクスポートするクラスA
があります。 A
には、A.B
というインスタンスを返すメソッドがあります。インスタンスと静的内部クラスの両方を何とかエクスポートできますか?クラスAのインスタンスとネストされたクラスA.Bをエクスポートします。
class A {
public static B = class {}
getB(): A.B { // <- compile error
return new A.B(); // this works fine
}
}
export default new A();
export { A.B }
私はJavaのバックグラウンドから来ています。わかりましたが、わたしはここでちょっと悩んでいます。私は代わりにモジュールで何かをやろうとしていると思いますか?
ここで私はそれを使用したい方法は次のとおりです。
import a from "./A";
import { A.B } from "./A";
let b: A.B = a.getB();
は、なぜ、それを "内部クラス" を作りますか? –
@NitzanTomer私は、データの構造的分離を維持しながら、2つのクラスが本当に一緒に属していることを暗示したいと思います。 –
このアプローチはあなたに痛みをもたらすだけです。 Typescriptはこれとはまったく違うので、同じように考えるべきではありません。たとえば、内部クラスは外部クラスのメンバーにアクセスできません。あなたはそれを埋め込むことによって何も得られません。また、クラスではなく、 'A'のインスタンスだけをエクスポートする点は何ですか?それはシングルトンですか? –