一、发现问题
1、字符串
const message = "Hello World"
message.toLowerCase(); // 得到“hello world”
message(); // 报错:TypeError:message is not a funtion
2、函数
function fn(x) {
return x.flip();
}
// 可知,要成功执行上面函数内容代码是要满足一定条件的,那就是 x 必须能够调用 flip() 方法;
3、JavaScript 局限
JavaScript 只能在运行时发现错误!
二、解决问题:静态类型检查
1、在代码运行之前发现错误
像 TypeScript 等类型检查工具,可以做到在代码运行之前发现错误!
2、静态类型检查
代码示例
const message = "hello world!"
message()
类型检查提示
三、非异常故障
1、JavaScript 示例
代码示例
const user = {
name: "大哥",
age: 25
}
console.log(user.location)
运行结果
2、TypeScript 示例
代码示例
const user = {
name: "大哥",
age: 25
}
console.log(user.location)
检查结果
3、TypeScript 错别字提示
代码示例
const user = {
name: "大哥",
age: 25
}
console.log(user.nam)
检查结果
4、TypeScript 未调用函数提示
代码示例
let say = () => {
return 1
}
say + 1 // 报错
say() + 1 // 正常