JavaScript 中有哪些不同类型的错误?
主题
JavaScript
在GitHub上编辑
TL;DR
在 JavaScript 中,主要有三种类型的错误:语法错误、运行时错误和逻辑错误。当代码违反语言的语法规则时,例如缺少括号,就会发生语法错误。运行时错误发生在代码执行期间,例如尝试访问 undefined
的属性。逻辑错误是代码逻辑中的错误,导致结果不正确,但不会抛出错误。
JavaScript 中不同类型的错误
语法错误
当代码不遵循 JavaScript 语言的规则时,就会发生语法错误。这些错误由 JavaScript 引擎在代码执行之前的解析阶段检测到。
示例
console.log("Hello, world!; // Missing closing quote and parenthesis
运行时错误
运行时错误,也称为异常,发生在代码执行期间。当代码在语法上正确但遇到阻止其完成任务的问题时,就会发生这些错误。
示例
let obj = null;console.log(obj.property); // TypeError: Cannot read properties of null (reading 'property')
逻辑错误
逻辑错误是代码逻辑中的错误,导致结果不正确。这些错误不会抛出异常,而且通常是最难调试的,因为代码在没有任何问题的情况下运行,但会产生错误的输出。
示例
let isAdmin = false;if ((isAdmin = true)) {// Wrong: Assignment instead of comparisonconsole.log('Access granted'); // Access granted even though isAdmin was falsy} else {console.log('Access denied');}