typescriptでDDDをする気にはならない

最近、angularを触ってみました。 一言で言うと、辛い。。 本当にこれ使えるん?

「大規模案件でangular!」 「angularはフルスタックだから、これでDDDやっちゃえ!typescriptなら型安全だし!」

みたいなこと言ってる人もいるけど、本気? typescriptってたいして型安全じゃないよ?

※約2年前にqiitaに書いた記事を参照 Typescriptが型チェックしてくれない?

もしかして今はもう型安全になってるのかな?と思ったので一応確認してみた。

class FirstName {}
class LastName {}

class Name {
  private firstName:FirstName;
  private lastName:LastName;
  constructor(
    f: FirstName,
    l: LastName
  ) {
    this.firstName = f;
    this.firstName = l;
  }
}

new Name(
  new LastName(),// 引数の順番が逆なのにコンパイル通る!!
  new FirstName()
);

あぁ。やっぱり。辛いなー。