# プリミティブ型執着

特定の概念を表す値には適切な型を指定しましょう。どんな値にもプリミティブ型を指定することを プリミティブ型執着 と呼びます。プリミティブ型執着は避けましょう。

たとえば秒を表す値を number 型とすると、ミリ秒や分の値として処理されても気付けない可能性があります。Second 型を定義して指定することで混同を防げます。

NOTE

✏️ 特定の概念を表す値には適切な型を指定する

# 補足

TypeScriptの型は構造が同じであれば同じ型として扱われます。このような型を 構造的部分型 と呼びます。したがって、単に type Second = number; と定義した型を指定するだけでは異なる概念を表す値の混同を防げません。Type Branding というテクニックで回避できますが、特定の言語に限定されるためここでは触れません。