TypeScriptのinterfaceとtypeの使い分けについて
Discussion
Closed
TypeScriptの interface と type について
TypeScriptにあるinterface
とtype
には細かい違いはありますが、ほぼ同じように使うことが出来ると思います。(私のいる環境だけかもしれないです)
例えば、以下のコードのように、Props
をinterface
でもtype
でも宣言できます。
typescript
interface Props {
...
}
// ↑↓どちらでも動く
type Props = {
...
}
const hoge = (props: Props) => {
...
}
そこで、interface
とtype
のどちらを使っても動作する場合、どちらを使っていますか?
最近の私の使い方
ちなみに私は下のコードのように、
interface
は関数などに引数を渡すときなど、文字通りインターフェースとして、
type
は特定の型の宣言として使っています。
typescript
interface Props {
user: User
}
type User = {
...
}
const hoge = (props: Props) => {
const otherUsers: User[] = [...]
...
}
0