类型错误:“x”不是“y”
消息
TypeError:无法读取未定义的属性(读取“x”)(基于V8) TypeError:“x”未定义(Firefox) TypeError:“undefined”不是对象(Firefox) TypeError:未定义不是对象(计算“obj.x”)(Safari) TypeError:“x”不是符号(基于V8和Firefox) TypeError:Symbol.keyFor要求第一个参数是符号(Safari)
错误类型
出了什么问题?
示例
无效案例
常数 foo公司 = 未定义 ; foo公司 . 子字符串 ( 1 ) ; //TypeError:未定义foo
常数 食物2 = 无效的 ; 足球2 . 子字符串 ( 1 ) ; //TypeError:foo2为空
常数 foo公司 = { } ; 符号 . 键For ( foo公司 ) ; //TypeError:foo不是符号
常数 食物2 = “酒吧” ; 对象 . 创造 ( 食物2 ) ; //TypeError:“foo2”不是对象或为空
解决问题
如果 ( foo公司 !== 未定义 && foo公司 !== 无效的 ) {
//现在我们知道了foo的定义,我们可以开始了。
}
如果 ( foo公司 ) {
//现在我们知道foo是真实的,它不一定是null/undefined。
}