TypeScript(JavaScript)のお話です。 背景: VuexをTypeScriptで開発したときにハマった罠 VuexをTypeScriptで書きたくてvuex-module-decoratorsを使っているのだが、vuex-module-decoratorでstateをundefinedにすると変更が検知されない罠があった。 要点だけまとめると、undefinedではなくnullで初期化すれば回避できたわけだが、 これまでnullもundefinedもあまり違いを意識してこなかったので、これを機会にまとめてみることにした。 nullとundefinedの違い 公式ドキュメントでは? TypeScriptの公式ガイドブックにはこう書いてあった。 https://www.typescriptlang.org/docs/handbook/2/everyday-types.html