Open8

読者コミュニティ|TypeScript the Minimum: Deno で始めるミニマム TypeScript

PADAone🐕PADAone🐕

更新情報

このスレッドには進捗や更新情報などを追記していきます。

Hidden comment
PADAone🐕PADAone🐕

2023-02-07
全体のフォーマット等を調整しました。
非同期処理の方の修正や新しい本の作成でちょっと放置気味でしたが、これから型チャレンジの内容やTypeScript の最新機能や Deno の更新などを盛り込んでクオリティを挙げていきます👍

はるぐちはるぐち

いつも勉強になる記事をありがとうございます。1つ気になった点があったのでご検討ください。

TypeScriptのシンタックス概要、概要コードの (3) 型の合成において、type A, type Bで定義した型エイリアスとコメントアウト部分に一貫性がないため type B = { b: string };なのかなぁと思ったのですがどうでしょう?そうであれば、type Xのコメントアウト部分も type X = { a: number } | { b: string }になると思います。

※下のコードで自分で付け足したコメントは←の部分です。

(3) 型の合成
......
type A = { a: number };
type B = { b: number }; // ← b: string ではないか?

// A 型または B 型
type X = A | B; // ユニオン型(Union type)
// type X = { a: number } | { b: number } ← ここも上と同じ
let v_AorB: X = Math.random() < 0.5
  ? { a: 42 }
  : { b: "st" };

// A 型かつ B 型
type Y = A & B; // インターセクション型(Intersection type)
// type Y = { a: number; b: string; };
let v_AandB: Y = {
  a: 12,
  b: "tx",
};
......
PADAone🐕PADAone🐕

返信おそくなってスミマセン🙇‍♂️

おっしゃるとおり、{ b: string } の方が一貫していて正しいですね。教えていただいきありがとうございます!

該当部分を直しておきます👍