## 消息

    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

## 错误类型

`TypeError`.

## 哪里出错了?

访问了 `undefined` 或`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已定义，可以进一步操作.
    }

## 参考更多

- `undefined`
- `null`