Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. JavaScript エラーリファレンス
  5. TypeError: "x" is (not) "y"

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

TypeError: "x" is (not) "y"

JavaScript の例外 "x is (not)y" は、予期しない型があったときに発生します。よくあるのは、予期せずundefined またはnull の値があった場合です。

エラーメッセージ

js
TypeError: Unable to get property {x} of undefined or null reference (Edge)TypeError: "x" is (not) "y" (Firefox)例:TypeError: "x" is undefinedTypeError: "x" is nullTypeError: "undefined" is not an objectTypeError: "x" is not an object or nullTypeError: "x" is not a symbol

エラーの種類

TypeError

エラーの原因

予期しない型がありました。これはundefined またはnull の値でしばしば発生します。

また、Object.create()Symbol.keyFor() のようなある種のメソッドは、特定の型を要求し、それを提供する必要があります。

無効な場合

js
// undefined と null の場合、substring メソッドは動作しません。var foo = undefined;foo.substring(1); // TypeError: foo is undefinedvar foo = null;foo.substring(1); // TypeError: foo is null// ある種のメソッドでは、特定の型が求められることがあります。var foo = {};Symbol.keyFor(foo); // TypeError: foo is not a symbolvar foo = "bar";Object.create(foo); // TypeError: "foo" is not an object or null

問題の修正

null ポインターをundefined 値に修正するには、次のようにtypeof 演算子を用いて行うことができます。

js
if (foo !== undefined) {  // これで、 foo が定義されていることがわかるので、実行することができます。}if (typeof foo !== "undefined") {  // 同じというのは良い考えですが、この実装を使わないでください。 - 本当の  // undefined の値と未宣言の変数が混同されて問題が発生する可能性があります。}

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp