在JS中,"之间的区别是什么?无法读取未定义的属性X"并且"无法获得未定义的属性X"?
我在Azure中部署的应用上收到了这两个不同的错误消息,只是注意到消息中的差异。为什么有两个不同的错误消息可能存在相同的错误?错误的起源是不一样的?它与不同的库,JS版本或操作系统有关吗?
答案 0 :(得分:1)
他们的意思相同,只是不同的措辞。这意味着你做过类似的事情:
console.log(a.X);
...其中a
的值为undefined
:
var a = undefined;
try {
console.log(a.X);
} catch (e) {
console.error(e.message);
}
首先是Google的JS引擎V8使用的措辞,该引擎用于Chrome,Chromium和NodeJS等:
https://github.com/v8/v8/blob/6eba6b4b89db81bc359dc041c62d1277f24bb8d4/src/messages.h#L334
第二个来自微软的引擎Chakra,它被IE和Edge使用。