An error that happens when you try to do something that doesn’t match the value’s type.
プログラムを動かしている途中で、「その操作はこの型(タイプ)の値ではできません!」というエラーが出ることがあります。
それが TypeError(タイプエラー) です。
JavaScript は「型(type)」という考え方を持っていて、数値・文字列・オブジェクトなどの“種類”が違う値には、できること・できないことがあります。
もし間違った型に対して操作をしようとすると、TypeError が起こります。
たとえば…
JavaScript
let text = "こんにちは";
text(); // ← 文字列は関数ではないので、呼び出せない!
この場合、ブラウザのコンソールにはこんなメッセージが出ます:
JavaScript
TypeError: text is not a function
つまり「文字列型の値を関数として使おうとしたよ。でもそれは無理だよ!」という意味です。
JavaScript
let num = 123;
num(); // 数値を関数のように呼び出してしまった
JavaScript
let arr = [1, 2, 3];
arr.pushh(4); // push のつづりミス!
// TypeError: arr.pushh is not a function
JavaScript
let user;
console.log(user.name); // user は undefined なのでエラー
// TypeError: Cannot read properties of undefined
typeof を使うなど)null や undefined でないかを調べる