知りたいこと
言葉で表しづらいのですが、js, ts で 外部で書いた class 等を namespace で区切りその内側に実装したいです。
別の言葉で表すと、 new Parent.Child()
の形で呼び出せる、かつ、Parent と Child の実装を別ファイルで行う方法、またはそれが可能なのか知りたいです。
サンプルコード
動くもの
typescript
1export class Parent { 2 constructor( 3 public readonly name: string, 4 public readonly children: Parent.Child[] 5 ) {} 6} 7export namespace Parent { 8 export class Child { 9 constructor( 10 public readonly name: string, 11 public readonly items: Item[], 12 ) {} 13 } 14 export namespace Child { 15 export interface Item { 16 id: string; 17 value: number; 18 } 19 } 20} 21
理想イメージに近いもの
typescript
1import { Child } from "./child" 2 3export class Parent { 4 constructor( 5 public readonly name: string, 6 public readonly children: Parent.Child[] 7 ) {} 8} 9export namespace Parent { 10 export class Child 11} 12
ご存知の方がいらっしゃれば教えていただきたいです。
あなたの回答
tips
プレビュー