Open8
読者コミュニティ|TypeScript the Minimum: Deno で始めるミニマム TypeScript
本の感想や質問をお気軽にコメントしてください。
更新情報
このスレッドには進捗や更新情報などを追記していきます。
いつも勉強になる記事をありがとうございます。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",
};
... 略 ...
返信おそくなってスミマセン🙇♂️
おっしゃるとおり、{ b: string }
の方が一貫していて正しいですね。教えていただいきありがとうございます!
該当部分を直しておきます👍