目次
TypeErrorとは何か
TypeErrorというエラーを見かけることはこれまでもたくさんあったが、当たり前すぎてこれが何を示しているのかをちゃんと認識していなかった。笑
やばいと思って調べてみた。笑
MDNには
あわせて読みたい
TypeError - JavaScript | MDN
TypeError オブジェクトは、演算が実行できなくなった時の新しいエラーを表します。特に値が期待された型ではなかった場合です(ただし、それに限りません)。
TypeError オブジェクトは、演算が実行できなくなった時の新しいエラーを表します。特に値が期待された型ではなかった場合です (ただし、それに限りません)
こう書かれている。
演算をするときに、演算ができなかったときとかにTypeErrorと表示されるらしい。
ほかにもあるらしい。
どんなときにTypeErrorが出るのか
もうちょっと具体的に言うと、「その型ではできない操作」をやろうとしたときに出る。JavaScriptだと、たとえばこんなケースでよく見かける。
- null や undefined のプロパティを読もうとしたとき(例:undefined のプロパティを参照する)
- 関数じゃないものを関数として呼び出したとき(例:数値に () をつけて実行しようとする)
- 本来は変更できない値を書き換えようとしたとき
要するに「型が想定と違うせいで処理が進められないよ」とJavaScriptが教えてくれている状態。エラーメッセージには、どの値・どの操作でこけたかが書いてあることが多いので、まずはそこを読むと原因にたどり着きやすい。
