--- title: 'TypeError: can''t access property "x" of "y"' slug: Web/JavaScript/Reference/Errors/Cant_access_property translation_of: Web/JavaScript/Reference/Errors/Cant_access_property ---
TypeError: Unable to get property {x} of undefined or null reference (Edge) TypeError: can't access property {x} of {y} (Firefox) TypeError: {y} is undefined, can't access property {x} of it (Firefox) TypeError: {y} is null, can't access property {x} of it (Firefox) Examples: TypeError: x is undefined, can't access property "prop" of it TypeError: x is null, can't access property "prop" of it TypeError: can't access property "prop" of undefined TypeError: can't access property "prop" of null
{{jsxref("TypeError")}}.
访问了 {{jsxref("undefined")}} 或{{jsxref("null")}} 值的属性.
// 对于undefined 以及 null 值, substring 方法无法正常工作 var foo = undefined; foo.substring(1); // TypeError: x is undefined, can't access property "substring" of it var foo = null; foo.substring(1); // TypeError: x is null, can't access property "substring" of it
为了解决undefined
或 null
值的空指针问题,你可以使用 typeof 操作符, 比如.
if (typeof foo !== 'undefined') { // 现在已经确认foo已定义,可以进一步操作. }