Vue.jsのPropsでUnion Type

この記事は古いしVue 2の解説である。賢明なる読者諸君はオフィシャルドキュメントを参照しよう。コードレビューで怒られても知らんぞ!!

Vue.jsでコンポーネントを作っているとき、String型を指定されているPropsで数字(Number)が扱いたくてUnion Type的なことできないかググったら答えが出てきた。たぶんドキュメントに載ってないんじゃないかな、これ。

Vue.extend({
  props: {
    value: {
      type: [String, Number]
    }
  }
})

Propsの型を無視してもJavaScriptで書いていたらwarningが出る程度だが、TypeScriptで書いているとちゃんと止めてくれるのだ。

一覧へ戻る